WO2014065055A1 - 画像処理装置、および画像処理方法、並びにプログラム - Google Patents
画像処理装置、および画像処理方法、並びにプログラム Download PDFInfo
- Publication number
- WO2014065055A1 WO2014065055A1 PCT/JP2013/075638 JP2013075638W WO2014065055A1 WO 2014065055 A1 WO2014065055 A1 WO 2014065055A1 JP 2013075638 W JP2013075638 W JP 2013075638W WO 2014065055 A1 WO2014065055 A1 WO 2014065055A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- processing
- input
- processing unit
- exposure
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 654
- 238000003672 processing method Methods 0.000 title claims description 11
- 239000002131 composite material Substances 0.000 claims abstract description 207
- 238000012937 correction Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims description 374
- 230000015572 biosynthetic process Effects 0.000 claims description 170
- 238000003786 synthesis reaction Methods 0.000 claims description 170
- 239000013598 vector Substances 0.000 claims description 157
- 239000000203 mixture Substances 0.000 claims description 81
- 238000002156 mixing Methods 0.000 claims description 15
- 238000011946 reduction process Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 4
- 238000009499 grossing Methods 0.000 description 21
- 229920006395 saturated elastomer Polymers 0.000 description 15
- 230000002194 synthesizing effect Effects 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/81—Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20208—High dynamic range [HDR] image processing
Definitions
- the present disclosure relates to an image processing apparatus, an image processing method, and a program.
- the present invention relates to an image processing apparatus, an image processing method, and a program that perform image noise reduction processing, dynamic range expansion processing, and the like by combining multiple images.
- NR Noise Reduction
- a composition process using a plurality of images taken continuously is an effective method. Specifically, a pixel with reduced noise is detected by detecting a corresponding pixel area, which is a shooting pixel area of the same subject, from a continuously shot image, and performing a synthesis process such as addition averaging of pixel values of the plurality of corresponding pixels. Calculate the value.
- a motion-compensated image In order to generate a motion-compensated image (MC image), first, motion estimation that estimates the amount and direction of motion between two images, a preceding captured image at the capturing time t ⁇ 1 and a subsequent captured image at the capturing time t. I do. Specifically, a motion vector is obtained. Based on this motion vector, a motion compensation process (MC) is performed in which the preceding photographed image at the photographing time t ⁇ 1 is combined with the image position of the subsequent photographed image at the photographing time t.
- MC motion compensation process
- the motion compensated image (MC image) generated by motion compensation for the preceding photographed image at the photographing time t ⁇ 1 is an image in which the same subject is photographed at the corresponding pixel position of the subsequent photographed image at the photographing time t.
- a correction pixel value is calculated using two pixel values of corresponding pixels of these two images. For example, when noise is included in the pixels of the subsequent captured image at the capturing time t, the noise can be reduced by using the pixel value of the preceding captured image at the capturing time t ⁇ 1.
- Such an output image generation process based on a plurality of continuously shot images is used not only in the above-described noise reduction process but also in a dynamic range expanded image generation process using continuously shot images with different exposure times.
- Dynamic range expansion image in which short-exposure images and long-exposure images are taken continuously and effective pixel values included in each image are selectively used or blended to set effective pixel values from low-luminance areas to high-luminance areas Is generated.
- the output image generation processing based on a plurality of continuously shot images is as follows. (1) Noise removal processing, (2) Dynamic range expansion image generation processing, This is a process used in the image generation process for these different purposes.
- FIGS. 1A and 1B As an example of an image processing configuration for executing both the noise removal and the dynamic range expansion processing, there are configurations shown in FIGS. 1A and 1B, for example.
- FIG. 1A shows a configuration in which dynamic range expansion processing is executed as preceding processing, and noise removal processing is performed on the dynamic range expansion image as subsequent processing.
- FIG. 1B shows a configuration in which a noise removal process is executed as the preceding process, and a dynamic range expansion process using the noise-removed image is executed as the subsequent process.
- Input images 10 set at different exposure times are sequentially input to the frame memory 11. For example, when there are N types of exposure time settings, N consecutive captured images with N types of exposure times are sequentially stored in the frame memory 11.
- the dynamic range expansion processing execution unit 12 acquires continuously shot images of N types of exposure times stored in the frame memory 11, and executes pixel value composition (blending) processing of corresponding pixels of each image to perform dynamic range expansion images. Is generated.
- the dynamic range expansion process execution unit 12 uses the N photographed images with different exposure times in this way, executes a blend process according to the brightness for each pixel unit, executes an output pixel value calculation, and N One dynamic range extended image based on one photographed image is generated.
- the dynamic range expansion image generated by the dynamic range expansion processing execution unit 12 is input to the noise removal processing execution unit 13.
- the noise removal processing execution unit 13 sequentially inputs one dynamic range extended image generated based on the captured image in units of N sheets, one dynamic range extended image based on the preceding N sets, and the subsequent A noise-removed image is generated by combining one dynamic range extended image based on the N-sheet set and a plurality of these dynamic range extended images. For example, if the pixels of the subsequent image (dynamic range extended image) contain noise, the output image is generated by using the pixel value of the preceding image (dynamic range extended image) to generate a noise-removed image with reduced noise. 15 is output.
- the frame memory 14 is used as a storage unit for preceding images.
- Patent Document 1 Japanese Patent Laid-Open No. 2010-041200.
- dynamic range expansion processing is performed by combining processing on image signals captured at two different exposure times.
- noise removal processing is performed by combining / blending the synthesized image signal of the previous frame and the synthesized image signal of the current frame that is the latest input image by using the frame cyclic amount according to the motion determination result and the exposure time.
- a frame memory 11 that stores images with a plurality of different exposure times applied to the dynamic range expansion process and an image applied to the noise removal process Is required. Furthermore, each of the dynamic range expansion processing execution unit 12 and the noise removal processing execution unit 13 needs to calculate motion information between images and perform alignment for image synthesis. Since it is necessary to execute these processes in each processing unit, there is a problem that the circuit scale and power consumption increase.
- the noise removal processing execution unit 21 inputs the input image 20, takes out an image having the same exposure time as the input image from the frame memory 22, executes alignment of two images having the same exposure time, A noise removal process is executed by combining the corresponding pixels of the image, and a noise-removed image is generated and stored in the frame memory 22 again. With this process, N noise-removed images having N types of exposure times are stored in the frame memory 22.
- the dynamic range expansion processing execution unit 23 executes the pixel value blending processing of the corresponding pixels of each image using N noise-removed images of N types of exposure times stored in the frame memory 22 to perform dynamic range expansion images. Is generated. For example, for a high-luminance region, there is a high possibility that the long-time exposure image has a saturated pixel value, so the pixel value of the short-time exposure image is used preferentially. On the other hand, the pixel value of the long exposure image is preferentially used for the low luminance region.
- the dynamic range expansion process execution unit 23 uses the N noise-removed images with different exposure times in this way, executes a blend process according to the brightness in units of pixels, and calculates an output pixel value.
- One dynamic range extended image based on the N noise-removed images is generated and output as an output image 25.
- Patent Document 2 Japanese Patent Laid-Open No. 2008-160881
- Patent Document 3 Japanese Patent Laid-Open No. 2007-049227
- Patent Document 4 JP-A-2006-311240.
- noise removal is performed by, for example, processing using an FIR filter, using image signals with the same exposure time continuous in the time direction for a plurality of image signals captured with the same or different exposure times.
- a configuration is disclosed in which a dynamic range extended image is generated by synthesizing a plurality of image signals having different exposure times from which noise has been removed.
- the configuration shown in FIG. 1B also requires a large-capacity memory such as the frame memory 22 as in the configuration shown in FIG.
- the noise removal processing execution unit 21 and the dynamic range expansion processing execution unit 23 need to execute motion information calculation and alignment processing, respectively.
- the present disclosure has been made in view of the above problems, for example, and provides an image processing apparatus, an image processing method, and a program that execute a dynamic range expansion process and a noise removal process together with a simple configuration. With the goal.
- the first aspect of the present disclosure is: An alignment processing unit that sequentially inputs, as an input image, continuously shot images set at different exposure times, and executes alignment between the input image and the preceding processing image; A synthesis processing unit that generates an output image by executing a synthesis process between the input image after the alignment process and the preceding process image; The alignment processing unit Executes an exposure ratio correction process that corrects the input image and the preceding process image to a pixel value when a common exposure time is set, and detects the corresponding pixel area by applying the exposure ratio correction image and moves between the images.
- the synthesis processing unit An image processing apparatus that generates an output image that has been subjected to dynamic range expansion processing and noise reduction processing by combining processing using the motion compensated image.
- the preceding processed image is a preceding combined image generated by the combining processing unit based on a preceding input image
- the alignment processing unit includes the preceding combined image. And the input image are aligned.
- the registration processing unit calculates a local motion vector for each local region of each image to be registered, and the image is based on the calculated local motion vector.
- a local motion compensated image whose position has been changed is generated.
- the registration processing unit calculates a local motion vector in units of local regions of each image to be registered, and based on the calculated local motion vector, Further, a global motion vector indicating the motion of the entire image is calculated, and a global motion compensated image in which the image position is changed based on the calculated global motion vector is generated.
- the registration processing unit calculates a local motion vector for each local region of each image to be registered, and the image is based on the calculated local motion vector.
- a global motion-compensated image whose position has been changed is generated, a global motion vector indicating the motion of the entire image is further calculated based on the local motion vector, and a global position in which the image position is changed based on the calculated global motion vector A motion compensated image is generated.
- the synthesis processing unit generates a blend image by pixel value blend processing using the local motion compensation image, the global motion compensation image, and the input image. Then, an output image is generated by combining the blended image and the input image.
- the synthesis processing unit assumes that the local motion compensation image, the global motion compensation image, and the input image are set to a common exposure time. Execute exposure ratio correction to set the pixel value, calculate the pixel value difference absolute value of the corresponding pixel between the input image after exposure ratio correction and the global motion compensation image, Output pixel value selection or calculation processing is executed according to the comparison result between the calculated pixel value difference absolute value and a predetermined threshold value.
- the alignment processing unit calculates a local motion vector based on a motion between two consecutive input images, and the calculated local motion vector
- a local motion compensated image is generated by applying to the preceding synthesized image generated by the processing unit, and a global motion vector is calculated based on the local motion vector generated based on the motion between the two consecutive input images.
- a global motion compensation image is generated by applying the global motion vector to the preceding synthesized image generated by the synthesis processing unit.
- the alignment processing unit applies the preceding synthesized image and the input image, and calculates the local motion calculated based on the motion between the two consecutive input images.
- a re-search processing unit for executing a corresponding pixel position re-search process as a vector verification process, and applying a local motion vector corrected by the re-search process in the re-search process unit to the preceding synthesized image A compensation image is generated.
- the re-search processing unit inputs a global motion vector generated by applying the two consecutive input images, and performs a process between the preceding synthesized image and the input image.
- the search range of the corresponding image area is determined.
- the input image is a captured image of different exposure times that is continuously captured for outputting a still image
- the alignment processing unit is different that is continuously captured.
- a position compensation process is performed by aligning the image position of another image with the image position of one image included in the captured image of the exposure time, and the motion compensation image generation process is performed.
- the applied composite image is updated to generate an output image that has been subjected to dynamic range expansion processing and noise reduction processing.
- the input image is a captured image of different exposure times that is continuously captured for moving image output
- the alignment processing unit is different that is continuously captured.
- a position compensation process for aligning the image position of the preceding image with the image position of the latest input image in the photographed image of the exposure time is performed to execute a motion compensated image generation process, and the composition processing unit applies the motion compensated image
- the synthesized image is updated to generate an output image that has been subjected to dynamic range expansion processing and noise reduction processing.
- the second aspect of the present disclosure is: An image processing method executed in an image processing apparatus, A registration processing step in which a registration processing unit sequentially inputs, as input images, continuously shot images set at different exposure times, and executes registration between the input image and the preceding processing image;
- the synthesis processing unit executes a synthesis process step of generating an output image by executing a synthesis process between the input image after the alignment process and the preceding process image,
- the alignment processing step includes Executes an exposure ratio correction process that corrects the input image and the preceding process image to a pixel value when a common exposure time is set, and detects the corresponding pixel area by applying the exposure ratio correction image and moves between the images.
- the synthesis processing step includes
- the image processing method is a step of generating an output image subjected to a dynamic range expansion process and a noise reduction process by a synthesis process using the motion compensated image.
- the third aspect of the present disclosure is: A program for executing image processing in an image processing apparatus; An alignment processing step for sequentially inputting, as an input image, continuous captured images set at different exposure times to the alignment processing unit, and executing alignment between the input image and the preceding processed image; Causing the synthesis processing unit to execute a synthesis process step of generating an output image by executing a synthesis process of the input image after the alignment process and the preceding process image; In the alignment processing step, Executes an exposure ratio correction process that corrects the input image and the preceding process image to a pixel value when a common exposure time is set, and detects the corresponding pixel area by applying the exposure ratio correction image and moves between the images.
- a program for generating an output image subjected to a dynamic range expansion process and a noise reduction process by a synthesis process using the motion compensated image In the synthesis processing step, A program for generating an output image subjected to a dynamic range expansion process and a noise reduction process by a synthesis process using the motion compensated image.
- the program of the present disclosure is a program that can be provided by, for example, a storage medium or a communication medium provided in a computer-readable format to an information processing apparatus or a computer system that can execute various program codes.
- a program in a computer-readable format, processing corresponding to the program is realized on the information processing apparatus or the computer system.
- system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
- a motion compensated image is generated by applying continuously captured images having different exposure times, and noise reduction and a high dynamic range are performed by combining images generated by applying the generated motion compensated image.
- An image processing apparatus that can generate an image subjected to the extension processing is realized. Specifically, a continuous processing image with different exposure times is input, a registration processing unit that executes registration between the input image and the preceding processing image, and a composition process of the input image after the positioning processing and the preceding processing image Has a synthesis processing unit.
- the alignment processing unit performs exposure ratio correction for correcting the input image and the preceding process image to the pixel value of the common exposure time, detects the motion between the images by applying the exposure ratio correction image, and detects the input image or the preceding image.
- a motion compensated image is generated by matching one of the processed images with the other image position.
- the synthesis processing unit generates an output image that has been subjected to dynamic range expansion processing and noise reduction processing by synthesis processing to which the motion compensation image is applied. Through these processes, motion-compensated images are generated by applying continuously captured images with different exposure times, and images that have been subjected to noise reduction and high dynamic range expansion processing are synthesized through image synthesis processing that uses the generated motion-compensated images. An image processing apparatus that can be generated is realized.
- composition and processing of a composition processing part of an image processing device It is a figure explaining composition and processing of a composition processing part of an image processing device according to one example of this indication. It is a figure which shows the flowchart explaining the process sequence which the synthetic
- Example in which global motion vector calculation is performed in advance 6-2.1 Example in which motion estimation is performed using an input image before the frame 6-3.
- the image processing apparatus sequentially inputs a plurality of continuously shot images set at different exposure times, performs an image composition process using these shot images, performs a dynamic range expansion process, and a noise removal process. Run to generate an output image.
- the image processing apparatus periodically inputs image signals captured at a plurality of different exposure times, that is, the short-time exposure image S and the long-time exposure image L, and executes processing. That is, (1) Short exposure image S, (2) Long exposure image L, These continuously shot images with different exposure times are periodically input to execute processing.
- the exposure time has the following relationship. S ⁇ L
- the image processing apparatus sequentially inputs images having different exposure times S and L as described above, executes image composition processing, and generates an output image.
- the image processing apparatus synthesizes images with different exposure times in this way to generate and output a noise-reduced high dynamic range (HDR) image.
- the exposure time has the following relationship. XS ⁇ MS ⁇ ML ⁇ XL
- the image processing apparatus generates, for example, a noise-reduced high dynamic range (HDR) image by synthesizing these four images having different exposure times.
- HDR high dynamic range
- FIG. 4 is a block diagram illustrating a main part configuration of the image processing apparatus 100 according to the present disclosure, that is, a configuration for executing a dynamic range expansion process corresponding to the process of the present disclosure and a noise removal process.
- the image processing apparatus 100 includes an alignment processing unit 200, a composition processing unit 300, and a frame memory 400 that holds an image.
- the input image 110 is, for example, an image that has been shot with a different exposure time set as described above with reference to FIGS.
- FIG. (1) a short exposure image
- (2) Long exposure image An embodiment in which processing is performed by alternately inputting images set at these two different types of exposure times will be described.
- the registration processing unit 200 receives a new input image 110 and a composite image 120 that is generated by applying the image up to the previous frame and stored in the frame memory 400, and performs registration processing of these two images. I do.
- the input image 110 and the composite image 120 that have been registered by the registration processing unit 200 are input to the synthesis processing unit 300.
- the composition processing unit 300 generates a new composite image corresponding to the input image 110 using the input image 110 and the composite image 120 that have been aligned.
- the synthesized image generated by this synthesis process is output as an output image 180 and stored in the frame memory 400 for use in alignment of the next frame.
- composition of image processing unit 300 Next, an example of image composition processing executed by the composition processing unit 300 will be described. An example of a composition process for images taken with two different exposure times will be described.
- the image composition process executed by the composition processing unit 300 is as follows. (1) Dynamic range expansion process (2) Noise removal process This is a synthesis process involving these two processes. Hereinafter, the outline of these two processes will be sequentially described.
- exposure time and signal level (pixel value) are two images set at different exposure times, that is, Short exposure image, Long exposure images, It is the figure which showed the correspondence of the camera input signal level (object luminance value) of these two images, and a camera observation signal level (pixel value).
- the observed signal level (pixel value) varies depending on the exposure time even with the same camera input signal level (subject luminance value). For example, a long exposure image is set to a saturated pixel value when the camera input signal level (subject luminance value) is P or higher. That is, a so-called overexposed pixel having a maximum pixel value.
- the dynamic range expansion process is, for example, these two images: Short exposure image, Long exposure images, By combining these two images, the low-brightness to high-brightness region of the subject is set to a more accurate pixel value and output.
- the pixel value level of the short-time exposure image is expected to be too low and include a lot of noise, so the pixel value of the long-time exposure image is selected as the output pixel value.
- a process of determining an output pixel value by a pixel value blending process at a corresponding position of the long exposure image and the short exposure image is performed according to the input signal level.
- the gain value applied to increase the gain of the short-time exposure image is the exposure ratio between the long-time exposure image and the short-time exposure image. For example, when the exposure time of the short exposure image with respect to the long exposure image is 1 ⁇ 2, the gain is 2.
- Noise removal processing uses a plurality of images with the same exposure time and suppresses noise that randomly changes in the time direction by, for example, averaging such as adding pixel values of corresponding pixel positions of these images.
- n-1 frame (2) n frame
- the correspondence relationship between the camera input signal level (subject luminance value) and the camera observation signal level (pixel value) for these two consecutively captured images is shown. Due to the influence of noise, the graph that should originally be set to a straight line is a distorted line. This noise is caused by charges accumulated in the pixel due to various influences such as disturbance. Many noises can be removed by adding and averaging corresponding pixel values of a plurality of images.
- n-1 frame (2) n frame An averaging process of the pixel values of the corresponding pixels of these two consecutive captured images is performed, (3) Generate n frames with reduced noise. With this process, it is possible to efficiently remove (reduce) noise components included in the captured image.
- FIG. 7 is a block diagram illustrating a configuration example of the synthesis processing unit 300 that executes the above-described dynamic range expansion processing and noise reduction processing together. This corresponds to a detailed configuration example of the composition processing unit 300 of the image processing apparatus 100 illustrated in FIG.
- the composition processing unit 300 inputs an input image 110 and a composite image 120 and outputs an output image 180.
- the input image is an image of each frame constituting the moving image, for example, when shooting a moving image. If it is still image shooting, it is one image of continuously shot images at the time of still image shooting.
- the composite image 120 is a composite image generated in the composite processing unit 300 using the preceding input image before the input of the input image 110.
- the input image 110 and the composite image 120 are input to the composition processing unit 300 after being aligned in the position alignment processing unit 200 shown in FIG.
- the composition processing unit 300 has the following configuration.
- Coefficient calculation unit 314 Applying the synthesis coefficient ( ⁇ ) calculated by the synthesis coefficient calculation unit 314, the corresponding pixels of the input image 110 and the synthesized image 120 are synthesized ( ⁇ blending), and the pixels of the constituent pixels of the output image 180 A composition processing execution unit 315 for determining a value;
- the composition processing unit 300 has these configurations.
- the synthesis processing execution unit 315 calculates each pixel value of the output image 180 by pixel value synthesis ( ⁇ blend) for each pixel of the input image 110 and the synthesized image 120.
- a formula for calculating the pixel value (Ot) of the output image by the ⁇ blend process is shown in the following (Formula 1).
- O (t) ( ⁇ ⁇ I (t)) + ((1 ⁇ ) ⁇ O (t ⁇ 1)) (Formula 1)
- ⁇ is a composite coefficient (blend coefficient) of 0 ⁇ ⁇ ⁇ 1
- O (t) is the pixel value of the composite image as the output image
- I (t) is the pixel value of the input image
- O (t-1) is a composite image corresponding to the previous frame, It is. Note that a calculation sequence of the synthesis coefficient ( ⁇ ) will be described later with reference to flowcharts shown in FIGS.
- This smoothing process is a process for suppressing the influence of noise in the synthesis coefficient calculation process in the synthesis coefficient calculation unit 314.
- the synthesis coefficient calculation unit 314 inputs the smoothed input image and the synthesis image, and calculates the synthesis coefficient ⁇ for each corresponding pixel based on these images.
- the procedure for calculating the synthesis coefficient ⁇ will be described later with reference to the synthesis coefficient calculation flow shown in FIGS.
- the synthesis processing execution unit 315 applies the synthesis coefficient ⁇ output from the synthesis coefficient calculation unit 314, and executes the synthesis process ( ⁇ blending) of the corresponding pixels of the input image 110 and the synthesized image 120.
- the pixel value of each pixel constituting the output image 180 is determined. This processing is called ⁇ blend processing or ⁇ blending.
- the composition processing is performed between images having different exposure times, and the dynamic range expansion processing and the noise reduction processing are executed together by this processing.
- the output image for example, one output image is generated and output in units of one set for each exposure time.
- the procedure for calculating the synthesis coefficient ⁇ executed by the synthesis coefficient calculation unit 314 will be described with reference to the flowcharts shown in FIGS. Note that the synthesis coefficient ⁇ is calculated for each local region, for example, each pixel. Processing of each step in the flowcharts shown in FIGS. 8 and 9 will be described.
- step S101 an input image is input.
- the image is assumed to be an image subjected to exposure ratio correction and smoothing processing.
- the exposure ratio correction gain increase
- the image input processing in step S101 corresponds to image input from the smoothing processing unit 312 to the synthesis coefficient calculation unit 314 in the configuration shown in FIG.
- the synthesis coefficient ⁇ corresponds to the weight of the pixel value of the input image with respect to the newly generated updated composite image.
- step S102 if the input image is the second frame or later, the process proceeds to step S103.
- step S103 the latest composite image generated in the immediately preceding process is acquired. This composite image acquisition corresponds to image input from the smoothing processing unit 313 to the composite coefficient calculation unit 314 in the configuration shown in FIG. That is, the composite image 120 that has been smoothed is input.
- step S104 exposure time information of the input image is acquired. For example, it is information indicating whether the image is a long exposure image or a short exposure image.
- step S105 it is determined from the exposure information of the input image whether the input image is a short exposure image or a long exposure image.
- step S106 the pixel value of the processing target pixel of the latest synthesized image generated in the immediately preceding process acquired in step S103 is compared with the saturation level.
- the saturation level of the composite image is set to be the same as the saturation level of the long-time exposure image. For example, when the pixel value is set in the range of 0 to 255, it is determined that the set pixel of the pixel value 255 is at the saturation level (saturated pixel).
- step S106 Yes
- step S106 Yes
- step S108 the pixel value difference between the processing target pixels of the input image and the composite image is determined in step S108. Is calculated, and the process proceeds to step S151.
- step S110 the processing target pixel of the input image and the previous generated composite image is combined.
- the synthesis coefficient ⁇ is a weighting coefficient applied to synthesis of corresponding pixels of the input image and the synthesized image, and is a value set for each pixel.
- the synthesis coefficient ⁇ corresponds to the weight of the pixel value of the input image with respect to the newly generated updated composite image.
- step S105 processing when it is determined in step S105 that the input image is a short-time exposure image will be described. If it is determined in step S105 that the input image is a short exposure image, the process proceeds to step S107.
- the processing of combining the input image and the processing target pixel of the immediately preceding composite image is performed in step S110.
- Is set to ⁇ 0, and the process proceeds to step S181.
- the synthesis coefficient ⁇ is a weighting coefficient applied to synthesis of the corresponding pixels of the input image and the synthesized image, and is a value set for each pixel.
- the synthesis coefficient ⁇ corresponds to the weight of the pixel value of the input image with respect to the newly generated updated composite image.
- step S109 the processing target pixels of the input image and the immediately preceding composite image are processed.
- the pixel value difference is calculated, and the process proceeds to step S161.
- step S108 the process after step S151 shown in FIG. 9 is executed.
- This process is performed when the following determination or process is executed.
- the input image is a long exposure image
- S106 The pixel value of the composite image to be processed is less than the saturation level
- S108 Calculation of a pixel value difference between the processing target pixels of the input image and the composite image, It is executed as a process after these determinations and processes are executed.
- step S109 the process after step S161 shown in FIG. 9 is executed. This process is performed when the following determination or process is executed.
- the input image is a short exposure image
- the pixel value of the composite image to be processed is a saturation level
- S109 This process is executed after the pixel value difference between the processing target pixels of the input image and the composite image is calculated.
- step S110 the process after step S110 is demonstrated.
- step S110 the process of step S181 shown in FIG. 9 is executed. This process is shown in FIG. If it is determined No in the determination process of step S106, or When it is determined Yes in the determination process of step S107, This process is executed in any of the above cases.
- the input image is a long exposure image
- (S106) When it is determined that the pixel value of the composite image to be processed is less than the saturation level, Or (S105)
- step S123 the process after step S123 is demonstrated.
- step S181 shown in FIG. 9 is executed.
- FIG. 10 to FIG. Short exposure image, Long exposure images, Enter images of these two types of exposure time sequentially, It is a figure explaining the process example in the case of producing
- combination image sequentially using a total frame number 2n frame.
- a photographed image as an input image includes a mountain and a sky, and a long-exposure image shows a case where the sky is saturated.
- the synthesis coefficient ⁇ corresponds to the weight of the pixel value of the input image with respect to the newly generated updated composite image.
- this corresponds to performing processing for setting the pixel value of the updated composite image to the pixel value of the input image.
- the pixel values of the composite image shown in the entry of frame 1 in FIG. 10 are all set to pixel values obtained from the input image.
- the pixel value of the composite image is not the pixel value itself of the short-time exposure image, but the pixel value after correcting the exposure ratio of the short-time exposure image. That is, the pixel value after exposure correction when the exposure time of the short exposure image is the same as the exposure time of the long exposure image. (Sf1) in the composite image in FIG. 10 indicates the pixel value after this exposure correction.
- the short-exposure image is denoted by S
- the long-exposure image is denoted by L
- Sf1 in the rectangular area of the sky area and the rectangular area of the mountain area shown in the entry of frame 1 shown in FIG. 10 is a pixel value after exposure correction of the short-time exposure image input as the first frame 1. It shows that there is.
- the sky region has a saturation level in the long-time exposure image
- the mountain region has a pixel value less than the saturation level.
- the pixel value Sf1 of the sky area in the composite image is a pixel value that is equal to or higher than the saturation level of the long-time exposure image.
- the saturation level of the composite image is set to be the same as the saturation level of the long-time exposure image. For example, when the pixel value is set in the range of 0 to 255, it is determined that the set pixel of the pixel value 255 is at the saturation level (saturated pixel).
- Bright sky area (Sf1 + Sf3 + Sf5) / 3
- Dark mountain area (Lf2 + Lf4 + Lf6) / 3
- a composite image in which these pixel values are set is generated.
- the same processing can be performed when the exposure time is three or more.
- Frame 1 short exposure image
- Frame 2 medium time exposure image
- Frame 3 long exposure image
- the composite image that is the final output image is a pixel value of a long-time exposure pixel in a low-luminance region, a pixel value of a low-time exposure pixel in a high-luminance region, and a medium luminance region in between.
- the pixel value is set by preferentially selecting the pixel value of the medium-time exposure image.
- the processing executed by the alignment processing unit 200 differs depending on whether the input image to be processed is a moving image or the input image is a still image.
- the configuration of the alignment processing unit 200 of the image processing apparatus 100 illustrated in FIG. 13 is a processing configuration that performs alignment processing when the input image is a moving image.
- the configuration of the alignment processing unit 200 of the image processing apparatus 100 illustrated in FIG. 14 is a processing configuration that executes alignment processing when the input image is a still image.
- the image processing apparatus may include only the alignment processing unit 200 having the configuration illustrated in FIG. Further, if the image processing apparatus is configured to execute only a still image, the configuration may include only the alignment processing unit 200 having the configuration illustrated in FIG. If the image processing apparatus is configured to execute both still image and moving image processing, the configuration shown in FIG. 13 and the configuration shown in FIG. .
- the input image 110 is a moving image having a plurality of different exposure times that are sequentially input.
- an image is input in the following sequence.
- An image is input in such a sequence, and an output image corresponding to each frame is generated and output as a composite image.
- the final output image is a moving image that has been subjected to dynamic range expansion processing and noise removal processing.
- the motion estimation unit 201 of the alignment processing unit 200 configured in the image processing apparatus 100 illustrated in FIG. 13 includes the latest input image 110 that is a frame image that constitutes a moving image, and the synthesis processing unit 300 performs processing up to the previous frame.
- the composite image 120 generated and stored in the frame memory 400 is input.
- the motion estimation unit 201 estimates a motion vector 205 between the two images of the input image 110 and the composite image 120. Since the composite image 120 is updated by the composite processing unit 300, it is necessary to align the composite image 120 generated so far with the image position of the latest input image 110.
- the motion estimation unit 201 calculates a motion vector 205 between two images of the input image 110 and the composite image 120 and outputs the motion vector 205 to the motion compensated image generation unit 202 in order to apply to this alignment processing.
- Various methods can be applied as the motion estimation method. For example, a block matching method, a gradient method, a phase correlation method, or the like can be used.
- the motion compensation image generation unit 202 applies the motion vector 205 supplied from the motion estimation unit 201 to match the image position of the composite image 120 acquired from the frame memory 400 with the image position of the latest input image 110 ( (Motion compensation processing) is executed.
- the motion compensation composite image 130 generated by this motion compensation processing is output to the composition processing unit 300.
- the synthesis processing unit 300 applies the input image 110 and the motion compensation synthesized image 130 to update the synthesized image, generates a new synthesized image, outputs it as the output image 180, and stores it in the frame memory 400.
- the image composition processing executed by the composition processing unit 300 is, for example, the same processing as described above with reference to FIGS.
- the new composite image stored in the frame memory 400 is used to generate a composite image corresponding to the next input image. This process is sequentially performed on the input moving image frames, and an output image 180 corresponding to the input image 110 is generated and output.
- the input image 110 becomes a still image having a plurality of different exposure times.
- the captured image is an image that is continuously captured with different exposure times set.
- An output image as a single still image is generated using the continuously shot images.
- images are input in the following sequence.
- Frame 2n Short exposure image
- the final output image is a still image that has been subjected to dynamic range expansion processing and noise removal processing.
- the alignment processing unit 200 performs alignment for correcting an image shift caused by such a camera shake.
- the motion estimation unit 211 of the alignment processing unit 200 configured in the image processing apparatus 100 illustrated in FIG. 14 includes a single image that forms a plurality of images that are continuously captured to generate a still image as a final output image.
- the latest input image 110 and the composite image 120 generated by the processing up to the previous frame by the composite processing unit 300 and stored in the frame memory 400 are input.
- the motion estimation unit 211 estimates the motion vector 205 between the two images of the input image 110 and the composite image 120, similarly to the motion estimation unit 201 in the moving image processing described above with reference to FIG. To do.
- any one of the continuously shot images is used as a reference image, and processing for matching all the continuously shot images to the image position of this one reference image is performed.
- alignment is performed on the first image in the continuous shadow image, that is, the first input image.
- the composite image 120 is a composite image generated by aligning the first input image, and the new input image 110 also needs to be aligned with the image position of the generated composite image 120.
- the motion estimation unit 211 calculates a motion vector 215 between the two images of the input image 110 and the composite image 120, and a motion compensation image generation unit. It outputs to 212.
- the motion compensated image generation unit 212 applies the motion vector 205 supplied from the motion estimation unit 211 to match the image position of the input image 110 with the image position of the composite image 120 acquired from the frame memory 400 (motion Compensation process).
- the motion compensation input image 140 generated by this motion compensation processing is output to the synthesis processing unit 300.
- the synthesis processing unit 300 updates the synthesized image by applying the motion compensation input image 140 and the synthesized image 120, generates a new synthesized image, and stores the new synthesized image in the frame memory 400.
- the new composite image stored in the frame memory 400 is used to generate a composite image corresponding to the next input image.
- the processing of the previous image frame shot in the continuous shooting process executed for still image shooting is completed and a final combined image is generated, the combined image is output as an output image 180.
- the image composition processing executed by the composition processing unit 300 is, for example, the same processing as described above with reference to FIGS.
- the moving image processing and the still image processing differ only in that the reference image and the image to be compensated for motion are interchanged, and the other processing is common processing.
- the common processing that is, details of processing executed by the alignment processing unit will be described.
- a processing example when the processing target is a moving image will be described.
- the processing described below is also applicable to a still image.
- Examples of the alignment process executed by the alignment processing unit 200 include the following processing aspects. (1) Processing for estimating local motion, which is motion in units of image segmentation regions, and generating a local motion compensated image based on the estimated local motion (2) Global motion, which is motion in units of the entire image (3) Hybrid processing for generating both a local motion compensation image based on the local motion and a global motion compensation image based on the global motion, Hereinafter, each of these processes will be described sequentially.
- the alignment processing unit 200 of the image processing apparatus 100 illustrated in FIG. 15 includes a local motion estimation unit 221, a local motion compensation image generation unit 222, and an exposure ratio correction unit 223.
- the input image 110 is a moving image having a plurality of different exposure times that are sequentially input.
- the local motion estimator 221 inputs the input image 110, and further inputs a composite image that has been subjected to exposure ratio correction, that is, the exposure ratio correction composite image 121 shown in the figure, via the exposure ratio corrector 223.
- the exposure ratio correction unit 223 acquires the composite image 120 generated by the composition processing unit 300 through the processing up to the previous frame and stores it in the frame memory 400, and executes the exposure ratio correction of the acquired composite image. That is, a process of correcting the pixel value of the composite image 120 to a pixel value when it is assumed that the exposure time of the input image 110 is matched is executed, and the image subjected to this pixel value correction is set as an exposure ratio correction composite image 121. The result is output to the local motion estimation unit 221.
- step S301 the composite image 120 is acquired from the frame memory 400.
- step S302 exposure time information of the input image 110 is acquired.
- the input image 110 is a setting in which, for example, a short-time exposure image and a long-time exposure image are alternately input, and the latest input image exposure time information is acquired.
- step S303 it is determined whether the input image is a short exposure image or a long exposure image. If the input image is a long exposure image, the process proceeds to step S304. If the input image is a short exposure image, the process proceeds to step S305.
- the synthesized image is clipped at a saturated pixel value level in step S304.
- the saturation pixel level is 255.
- a clipping process is performed for setting all pixel regions having a pixel value of 255 or more included in the composite image to the saturated pixel level (255).
- the clipped composite image is output as an exposure ratio corrected image.
- the input image is a short-time exposure image.
- the composite image is gain-downed to a pixel value level corresponding to the short-time exposure image that is the input image in step S305.
- the composite image is output as an exposure time setting image similar to the long exposure image. For example, when the exposure time ratio between the short-time exposure image and the long-time exposure image is 1: 2, the pixel value of the composite image is set to 1 ⁇ 2 by reducing the gain of the composite image.
- step 306 the composite image after gain reduction is clipped at the saturated pixel value level.
- the combined image after clipping is output as an exposure ratio corrected image.
- the composite image is composed of a long-exposure image up to the saturation level, and an image obtained by increasing the gain of the short-exposure image above that level.
- the input image is a short-time exposure image by performing exposure ratio correction on the composite image according to the flow procedure shown in FIG. 16
- processing according to the sequence of steps S305 to S307 is executed, and the composite image
- the pixel value is set to a pixel value with the same exposure time as that of the short exposure image.
- the processes of steps S304 and S307 are executed, and the pixel value of the composite image is set to a pixel value with the same exposure time as that of the long-exposure image.
- the exposure ratio correction unit 223 of the alignment processing unit 200 shown in FIG. 15 generates an exposure ratio correction composite image 121 and outputs it to the local motion estimation unit 221 by processing according to the flow shown in FIG.
- the local motion estimator 221 inputs the input image 110 and the exposure ratio corrected composite image 121, and for these two images, a local area (local area) such as a segment area in the image, for example, a pixel unit or a plurality of pixel area units. For each region, motion estimation is performed, and a local motion vector 225 for each local region is calculated and output to the local motion compensated image generation unit 222.
- the local motion compensated image generation unit 222 uses the local motion vector 225 for each local region input from the local motion estimation unit 221 to perform alignment between the input image 110 and the synthesized image 120 for each local region. That is, the local motion vector 225 is used to perform alignment between the input image 110 and the synthesized image 120 in units of local regions, and motion compensated synthesis in which the image position of the synthesized image 120 is matched with the image position of the input image 110. An image is generated and output to the composition processing unit 300. In this configuration, by performing motion estimation and motion compensation for each local region, it is possible to perform alignment with respect to local motion such as a moving subject in an image.
- the synthesis processing unit 300 uses the motion compensated synthesized image input from the local motion compensated image generating unit 222 and the input image 110 to generate a new synthesized image and output it as an output image 180, and also to the frame memory 400. Store.
- this processing example is a processing example when the input image is a moving image
- the alignment processing unit 200 performs motion compensation on the composite image 120 and sets the image position of the composite image 120 to the image of the input image 110. Execute the process to match the position.
- motion compensation for the input image 110 is executed, and processing for matching the image position of the input image 110 with the image position of the composite image 120 is executed.
- the global alignment is an alignment process in which motion estimation is performed for each local region in the image, global motion of the entire screen is estimated from the local region vector, and processing is performed using the motion vector.
- the registration processing unit 200 of the image processing apparatus 100 illustrated in FIG. 17 includes a local motion estimation unit 231, a global motion estimation unit 232, a global motion compensation image generation unit 233, and an exposure ratio correction unit 234.
- the input image 110 is a moving image having a plurality of different exposure times that are sequentially input.
- the processing of the exposure ratio correction unit 234 and the local motion estimation unit 231 is the same as the exposure ratio correction unit 223 and local motion shown in FIG. 15 described above with reference to FIG. This process is similar to the process executed by the estimation unit 221.
- the exposure ratio correction unit 234 acquires the composite image 120 generated by the composition processing unit 300 through the processing up to the previous frame and stores it in the frame memory 400, and executes the exposure ratio correction of the acquired composite image. That is, a process of correcting the pixel value of the composite image 120 to a pixel value when it is assumed that the exposure time of the input image 110 is matched is executed, and the image subjected to the pixel value correction is set as an exposure ratio correction composite image 235. It outputs to the local motion estimation part 231.
- the local motion estimator 231 receives the input image 110 and the exposure ratio corrected composite image 235, and for these two images, the local region (local For each region, motion estimation is performed, and a local motion vector 236 for each local region is calculated and output to the global motion estimation unit 232.
- the global motion estimator 232 uses the local motion vector 236 in units of local regions input from the local motion estimator 221 to move the entire image between the input image 110 and the exposure ratio corrected composite image 235 ( Global motion) is estimated, and a global motion vector 237 indicating the motion of the entire image is generated and output to the global motion compensated image generation unit 233.
- the global motion compensation image generation unit 233 uses the global motion vector 237 input from the global motion estimation unit 232 to perform alignment between the input image 110 and the composite image 120, and inputs the image position of the composite image 120.
- a motion compensated synthesized image that matches the image position of the image 110 is generated and output to the synthesis processing unit 300.
- the synthesis processing unit 300 uses the motion compensated synthesized image input from the global motion compensated image generating unit 233 and the input image 110 to generate a new synthesized image and output it as an output image 180, and also to the frame memory 400. Store.
- this processing example is a processing example when the input image is a moving image
- the alignment processing unit 200 performs motion compensation on the composite image 120 and sets the image position of the composite image 120 to the image of the input image 110. Execute the process to match the position.
- motion compensation for the input image 110 is executed, and processing for matching the image position of the input image 110 with the image position of the composite image 120 is executed.
- motion estimation is performed for each local region in the image, and global motion of the entire screen is estimated from the vector of the local region.
- This process (1) a local motion vector that is a motion vector of a local region; (2) a global motion vector that is the motion vector of the entire image, These two motion vectors are calculated, and alignment is performed by applying these two motion vectors.
- the input image 110 is a moving image having a plurality of different exposure times that are sequentially input.
- the processing of the exposure ratio correction unit 244, the local motion estimation unit 241, the global motion estimation unit 242, and the global motion compensated image generation unit 243 is described with reference to FIG. This process is the same as the process executed by the exposure ratio correction unit 234, the local motion estimation unit 231, the global motion estimation unit 232, and the global motion compensation image generation unit 233 illustrated in FIG.
- the exposure ratio correction unit 244 acquires the composite image 120 that is generated by the processing up to the previous frame by the composition processing unit 300 and is stored in the frame memory 400, and executes the exposure ratio correction of the acquired composite image. That is, a process of correcting the pixel value of the composite image 120 to a pixel value when it is assumed that the exposure time of the input image 110 is matched is executed, and the image subjected to this pixel value correction is set as an exposure ratio correction composite image 247. It outputs to the local motion estimation part 241.
- the local motion estimator 241 receives the input image 110 and the exposure ratio corrected composite image 247, and for these two images, the local region (local For each region, motion estimation is performed, and a local motion vector 248 for each local region is calculated and output to the global motion estimation unit 242.
- the global motion estimator 242 uses the local motion vector 248 for each local region input from the local motion estimator 241 to move the entire image between the input image 110 and the exposure ratio corrected composite image 247 ( Global motion) is estimated, and a global motion vector 249 indicating the motion of the entire image is output to the global motion compensated image generation unit 243.
- the global motion compensated image generation unit 243 uses the global motion vector 249 input from the global motion estimation unit 242 to perform alignment between the input image 110 and the composite image 120, and inputs the image position of the composite image 120.
- a motion compensated synthesized image that matches the image position of the image 110 is generated and output to the synthesis processing unit 300.
- the local motion compensation image generation unit 245 executes the same processing as the processing executed by the local motion compensation image generation unit 222 described above with reference to FIG.
- the local motion compensated image generation unit 245 uses the local motion unit local motion vector 248 input from the local motion estimation unit 241 to align the input image 110 and the composite image 120 in local region units. . That is, using the local motion vector 248, the input image 110 and the synthesized image 120 are aligned in units of local regions, and the motion compensated synthesis in which the image position of the synthesized image 120 is matched with the image position of the input image 110. An image is generated and output to the composition processing unit 300.
- the synthesis processing unit 300 inputs the following two motion compensation synthesized images.
- the synthesis processing unit 300 generates a new synthesized image by applying these two motion compensation synthesized images and the input image 110. This combining process will be described later.
- this processing example is also a processing example when the input image is a moving image, and the alignment processing unit 200 performs motion compensation on the composite image 120 and sets the image position of the composite image 120 to the image of the input image 110. Execute the process to match the position.
- motion compensation for the input image 110 is executed, and processing for matching the image position of the input image 110 with the image position of the composite image 120 is executed.
- the alignment processing unit 200 that performs the hybrid alignment described with reference to FIG. 18 generates the following two motion compensation images.
- A Local motion compensation composite image generated by the local motion compensation image generation unit 245 based on the local motion vector 248
- B Global motion compensation composite image generated by the global motion compensation image generation unit 243 based on the global motion vector 249
- the synthesis processing unit 300 receives the two motion compensated images and the input image 110, generates a new synthesized image, that is, executes a synthesized image update process, and updates the synthesized image. Is output as an output image corresponding to the input image.
- FIG. 19 is a diagram showing a detailed configuration of the synthesis processing unit 300 that executes this synthesis processing. The configuration and processing of the synthesis processing unit 300 illustrated in FIG. 19 will be described.
- a local motion compensation composite image 401 shown in FIG. 19 is a motion compensation image generated by the local motion compensation image generation unit 245 shown in FIG. That is, it corresponds to the local motion compensation composite image generated by the (A) local motion compensation image generation unit 245 based on the local motion vector 248.
- the global motion compensation composite image 402 shown in FIG. 19 is a motion compensation image generated by the global motion compensation image generation unit 243 shown in FIG. That is, it corresponds to the global motion compensation composite image generated by the (B) global motion compensation image generation unit 243 based on the global motion vector 249.
- the exposure ratio correction unit 321 performs exposure ratio correction that sets the pixel value of the local motion compensation composite image 401 to the pixel value when the exposure time that matches the exposure time of the input image 110 is set.
- the exposure ratio correction unit 322 performs exposure ratio correction that is set to a pixel value when the pixel value of the global motion compensation composite image 402 is set to an exposure time that matches the exposure time of the input image 110.
- the blend processing unit 323 inputs the following three images.
- Input image 110 (2) Local motion compensated composite image 401 subjected to exposure ratio correction (3) Global motion compensation composite image 402 with exposure ratio correction
- the blend processing unit 323 executes a pixel value blending process (synthesizing process) for these three images to generate a blended image 329.
- a pixel value blending process (synthesizing process) executed by the blend processing unit 323 will be described later with reference to a flowchart shown in FIG.
- the blend image 329 generated by the blend processing unit 323 is output to the synthesis processing execution unit 328 and the smoothing processing unit 325.
- the subsequent processing is the same as the processing described above with reference to FIG.
- the smoothing processing unit 325 performs a smoothing process on the blend image 329 generated by the blend processing unit 323.
- the input image 110 is also input to the smoothing processing unit 326, and smoothing processing is executed.
- This smoothing process is a process for suppressing the influence of noise in the synthesis coefficient calculation process in the synthesis coefficient calculation unit 327.
- the synthesis coefficient calculation unit 327 receives the smoothed input image and blend image, and calculates the synthesis coefficient ⁇ for each corresponding pixel based on these images. Note that the procedure for calculating the synthesis coefficient ⁇ is as described above with reference to the synthesis coefficient calculation flow shown in FIGS.
- the synthesis processing execution unit 328 applies the synthesis coefficient ⁇ output from the synthesis coefficient calculation unit 327 and executes the synthesis process ( ⁇ blending) of the corresponding pixels between the input image 110 and the blend image 329.
- the pixel value of each pixel constituting the output image 180 is determined. That is, the ⁇ blend process described above is executed to calculate the constituent pixel values of the output image 180.
- a global motion compensation image is acquired.
- This global motion compensated image is an exposure ratio corrected image in which the pixel value is corrected to the pixel value when the same exposure time as that of the input image is set.
- an input image is acquired in step S502.
- the input image is a long-time exposure image or a short-time exposure image that constitutes a moving image.
- step S503 the difference absolute value (pixel value difference absolute value) of the pixel value at the corresponding position between the input image and the global motion compensated image after the exposure ratio correction is calculated.
- the area for which the absolute difference value is to be calculated can be variously set, for example, in units of pixels or a block composed of a plurality of pixels.
- step S504 the pixel value difference absolute value calculated in step S503 is compared with a predetermined threshold A. Pixel value difference absolute value> threshold A When the determination formula is satisfied, the process proceeds to step S506. When the determination formula is not satisfied, the process proceeds to step S505.
- This local motion compensated image is also an exposure ratio corrected image in which the pixel value is corrected to the pixel value when the same exposure time as that of the input image is set.
- step S507 the pixel value difference absolute value calculated in step S503 is compared with a predetermined threshold value B.
- the input image calculated in step S503 and the absolute value difference (pixel value difference absolute value) of the pixel values at the corresponding positions in the global motion compensated image after the exposure ratio correction are compared with the predetermined threshold value B.
- the process proceeds to step S509, and the pixel value of the pixel is set as the pixel value of the local motion compensation image.
- the determination formula is not satisfied, that is, if the pixel value difference absolute value is equal to or less than the threshold value B, the process proceeds to step S508, and the pixel value of the pixel is compared with the pixel value of the local motion compensation image and the global motion.
- the pixel value of the compensation image is a blended pixel value.
- the blend rate is set to increase the blend rate of the pixel values of the global motion compensated image as the difference between the absolute value of the pixel value difference and the threshold value B increases. That is, the blend rate of the pixel values of the global motion compensated image is set to increase as the absolute value of the pixel value difference is closer to 0.
- step S510 For each pixel, pixel values are determined by the processing in step S505, step S508, or step S509, and when the pixel values of all the pixels are finally set, a blend image is output in step S510.
- the blended image is output to the synthesis processing execution unit 328 and the smoothing processing unit 325 as shown in FIG.
- the blend image generated by the blend process described with reference to the flow shown in FIG. 20 is an image composed of the following pixel values.
- Pixels whose pixel value difference absolute value between the global motion compensation composite image and the input image is equal to or less than the threshold A are pixel values of the global motion compensation composite image
- the pixel whose absolute value of the pixel value difference between the global motion compensation composite image and the input image is larger than the threshold value A and larger than the threshold value B is the pixel value of the local motion compensation composite image
- (3) A pixel whose absolute difference between the global motion compensation composite image and the input image is larger than the threshold value A and less than or equal to the threshold value B is a local motion compensation composite image and a global motion compensation composite.
- a pixel value that blends the pixel values of the image
- the component pixel value of the blend image generated by the blend processing unit 323 is an image in which any one of the pixel values (1) to (3) is set.
- pixel values are preferentially selected from the local motion compensated image. Therefore, it is possible to selectively use processing corresponding to camera motion for which processing by global motion vectors is effective and processing for moving subject for which processing by local motion vectors is effective depending on the situation of each pixel. Thus, it is possible to generate a single motion compensation image with high accuracy as a blend image.
- FIG. 15 Local registration using a local motion vector
- FIG. 17 Global registration using a global motion vector
- FIG. 18 Local registration using a local motion vector and global motion
- the input image is a moving image
- the local motion estimation, local motion compensation, and the like after the input image of the current frame is input until the input image of the next frame is input, Global motion estimation, global motion compensation, and synthesis processing must be performed.
- this has a problem that the circuit scale and power consumption increase.
- the alignment processing unit 200 of the image processing apparatus 100 shown in FIG. 21 performs a hybrid type alignment process similar to the alignment processing unit described above with reference to FIG. That is, (A) a local motion compensated image based on the local motion vector; (B) a global motion compensated image based on the global motion vector; These two motion compensation images are generated and provided to the synthesis processing unit 300.
- the exposure ratio correction unit 252 inputs the preceding input image acquired from the frame memory 251 and the subsequent input image 110 and sets the pixel value when these images are set to the same exposure time. To do.
- the exposure ratio correction processing sequence executed by the exposure ratio correction unit 252 will be described with reference to the flowchart shown in FIG.
- step S701 the latest input image is input.
- the image is an image whose exposure ratio has been corrected.
- exposure ratio correction gain increase
- the pixel value of the short exposure image is double by exposure ratio correction.
- step S ⁇ b> 702 the previous frame image that is the preceding input image and stored in the frame memory 251 is acquired. This image is also an image whose exposure ratio has been corrected.
- step S703 exposure time information of the latest input image, that is, the subsequent input image is acquired. For example, it is information indicating whether the image is a long exposure image or a short exposure image.
- step S704 it is determined from the exposure information of the subsequent input image whether the subsequent input image is a short exposure image or a long exposure image. If it is determined that the input image is a long exposure image, the process proceeds to step S705.
- step S705 the gain of the previous frame input image acquired in step S702, that is, exposure ratio correction is executed. This is a process of changing the pixel value of the previous frame input image to the pixel value when it is assumed that the exposure time is the same as that of the long exposure image that is the subsequent input image. That is, a process for aligning the pixel values when the preceding input image and the subsequent input image are exposed for a long time is performed.
- step S704 If it is determined in step S704 that the input image is a short exposure image, the process proceeds to step S706.
- step S706 the gain of the subsequent input image acquired in step S701, that is, exposure ratio correction is executed. This is a process of changing the pixel value of the subsequent input image to the pixel value when it is assumed that the exposure time is the same as that of the long-time exposure image of the previous frame that is the preceding input image. That is, a process for aligning the pixel values when the preceding input image and the subsequent input image are exposed for a long time is performed.
- step S707 the exposure ratio corrected image is clipped at the saturation level. That is, if the pixel value indicating the saturation level, for example, if the pixel value setting is 0 to 255, the process of setting all the pixel values of 255 or more pixels to 255 is performed.
- step S708 the generated image is output as an exposure ratio corrected image.
- both the preceding input image and the subsequent input image are output to the local motion estimation unit 253.
- the local motion estimator 253 calculates a local motion vector 258 indicating the motion in local area units between these two consecutive input images. Subsequent processing is similar to the processing described above with reference to FIG.
- the local motion estimation unit 253 can sequentially output the local motion vectors 258 based on two consecutive input images.
- the global motion estimation unit 255 can sequentially calculate global motion using the local motion vector 258 output from the local motion estimation unit 253.
- the local motion estimation unit 253 The local motion vector generated based on the frame t and the frame t + 1 is LV (t, t + 1) Local motion vectors generated based on the frame t + 1 and the frame t + 2 are LV (t + 1, t + 2), A global motion vector generated based on the frame t and the frame t + 1 is GV (t, t + 1). A global motion vector generated based on the frame t + 1 and the frame t + 2 is GV (t + 1, t + 2), And
- the local motion estimation unit 253 searches for a corresponding pixel region in units of local regions of two input images and is a local motion vector that is a motion vector in units of local regions.
- the process of calculating is executed.
- a block matching method, a gradient method, a phase correlation method, or the like can be used for the search process for the corresponding pixel region.
- the input image to be processed is an image captured at a plurality of different exposure times. These images may be partially saturated in the screen or blacked out.
- the accuracy of the global motion vector is greatly reduced even if the local motion vector cannot be estimated correctly in some saturated or blackout areas. The possibility of doing is low.
- the accuracy of the local motion vector may be significantly reduced.
- the alignment processing unit 200 shown in FIG. 23 has a configuration in which a re-search processing unit 264 and an exposure ratio correction unit 265 are added to the configuration of the alignment processing unit described with reference to FIG.
- the local motion vector 269 calculation process in the local motion estimation unit 263 is executed by applying two consecutive input images as described above with reference to FIG. However, before performing the local motion compensated image generation processing in the local motion compensated image generation unit 266, the re-search processing unit 264 applies the composite image up to the previous frame and re-searches the local motion vector. The result is provided to the local motion compensation image generation unit 266.
- the two images input to the local motion estimation unit 263 are the previous frame held in the input image 110 and the frame memory 261. This is an input image. These two sheets are corrected to the same exposure by the exposure ratio correction unit 262.
- the local motion estimation unit 263 performs motion estimation for each local region using the input image with the same exposure and the input image of the previous frame, and outputs a local motion vector 269.
- the global motion estimation unit 267 performs global motion estimation using the local motion vector 269 and generates a global motion vector 270.
- the local motion vector 269 generated by the local motion estimation unit 263 is also input to the re-search processing unit 264.
- the re-search processing unit 264 performs verification processing on the local motion vector 269 generated by the local motion estimation unit 263 using the composite image 120 stored in the frame memory 400 and the input image stored in the frame memory 261.
- the composite image 120 uses an exposure correction image having the same exposure setting as the image stored in the frame memory 261 in the exposure ratio correction unit 265.
- the re-search processing unit 264 calculates a local motion vector using the exposure-corrected composite image 120 and the input image stored in the frame memory 261. Furthermore, the difference between the calculated vector and the local motion vector 269 input from the local motion estimation unit 263 is determined. If the difference is large and it is determined that the input local motion vector 269 is an error, the composite image 120 is displayed. Then, a process of replacing with the local motion vector calculated using the input image stored in the frame memory 261 is performed. The replaced local motion vector is output to the local motion compensated image generation unit 266.
- the local motion compensation image generation unit 266 generates a motion compensation image by applying the local motion vector generated by the re-search processing unit 264. As a result, even when a part of the input images is saturated or blackened and local motion estimation cannot be performed correctly between the input images, the alignment can be performed with high accuracy.
- FIG. 24 shows a detailed configuration of the alignment processing unit 2000 of this embodiment.
- the alignment processing unit 200 shown in FIG. 24 has substantially the same configuration as that described with reference to FIG. However, the global motion vector 270 as a global motion estimation result is input from the global motion estimation unit 267 to the re-search processing unit 264.
- the re-search processing unit 264 receives the global motion vector 270 from the global motion estimation unit 267, and uses the input global motion vector 270 to calculate the corresponding pixel area between the input image acquired from the frame memory 261 and the composite image 120. A process for limiting the search range is performed.
- a method for re-searching a range centered on a designated destination of a local motion vector (2) A method for re-searching a 0 vector, that is, a range centered on the same position as the region of interest, (3) A method for re-searching a range centered on a global motion vector destination, These methods can be used. For example, for the region where the input image is saturated or blackened, the above-described processing using (2) 0 vector or (3) global motion vector is executed. Further, in the region where the local motion vector is highly likely to be calculated correctly, the above-described (1) processing using the local motion vector is performed.
- FIG. 26 is a diagram illustrating a configuration example of an imaging apparatus 600 as an embodiment of the image processing apparatus of the present disclosure.
- an imaging device 602 including an imaging unit, for example, a CMOS image sensor, and outputs image data by photoelectric conversion.
- the output image data is input to the image processing unit 603.
- the image processing unit 603 executes a process according to each of the above-described embodiments, that is, an output image generation process involving a composite process of a plurality of images. Furthermore, the image processing unit 603 also performs general camera signal processing on the captured data, for example, signal processing such as white balance (WB) adjustment and gamma correction, and generates an output image 620.
- the output image 620 is stored in a storage unit (not shown). Or it outputs to a display part.
- the control unit 605 outputs a control signal to each unit according to a program stored in the memory 606, for example, and controls various processes.
- the image processing of the present disclosure it is possible to sequentially combine an image captured in a certain exposure time and a combined image up to the previous frame while aligning them.
- a common alignment block can be used for both processes.
- by performing alignment even when there is a moving subject in the screen or when there is a camera movement, it is possible to suppress the influence of positional deviation, and the S / N can be improved.
- An alignment processing unit that sequentially inputs consecutively captured images set at different exposure times as an input image, and executes alignment between the input image and the preceding processed image;
- a synthesis processing unit that generates an output image by executing a synthesis process between the input image after the alignment process and the preceding process image;
- the alignment processing unit Executes an exposure ratio correction process that corrects the input image and the preceding process image to a pixel value when a common exposure time is set, and detects the corresponding pixel area by applying the exposure ratio correction image and moves between the images.
- the synthesis processing unit An image processing apparatus that generates an output image that has been subjected to dynamic range expansion processing and noise reduction processing by combining processing using the motion compensated image.
- the preceding processed image is a preceding combined image generated by the combining processing unit based on the preceding input image, and the alignment processing unit executes an alignment process between the preceding combined image and the input image.
- the image processing apparatus according to (1).
- the registration processing unit calculates a local motion vector for each local region of each image to be registered, and generates a local motion compensated image in which the image position is changed based on the calculated local motion vector.
- the registration processing unit calculates a local motion vector for each local region of each image to be registered, and based on the calculated local motion vector, further calculates a global motion vector indicating the motion of the entire image.
- the image processing device according to any one of (1) to (3), wherein the image processing device generates a global motion compensated image that is calculated and whose image position is changed based on the calculated global motion vector.
- the registration processing unit calculates a local motion vector for each local region of each image to be registered, and generates a local motion compensated image in which the image position is changed based on the calculated local motion vector. Further, based on the local motion vector, a global motion vector indicating the motion of the entire image is further calculated, and a global motion compensated image in which the image position is changed based on the calculated global motion vector is generated.
- the image processing apparatus according to any one of the above.
- the synthesis processing unit generates a blend image by a pixel value blend process using the local motion compensation image, the global motion compensation image, and the input image,
- the image processing device according to (5), wherein an output image is generated by combining the blended image and the input image.
- the composition processing unit executes exposure ratio correction that is set to a pixel value when it is assumed that the local motion compensation image, the global motion compensation image, and the input image are set to a common exposure time.
- the pixel value difference absolute value of the corresponding pixel between the input image after exposure ratio correction and the global motion compensated image is calculated, and output according to the comparison result between the calculated pixel value difference absolute value and a predetermined threshold value.
- the alignment processing unit calculates a local motion vector based on the motion between two consecutive input images, and applies the calculated local motion vector to the preceding synthesized image generated by the synthesis processing unit.
- a local motion compensation image is generated, a global motion vector is calculated based on the local motion vector generated based on the motion between the two consecutive input images, and the calculated global motion vector is generated by the synthesis processing unit.
- the image processing apparatus according to (5), wherein the image processing device is applied to the preceding synthesized image to generate a global motion compensated image.
- the alignment processing unit applies the preceding synthesized image and the input image, and re-searches the corresponding pixel position as a verification process of the local motion vector calculated based on the motion between the two consecutive input images.
- the re-search processing unit that executes the process, and the local motion vector corrected by the re-search process in the re-search processing unit is applied to the preceding synthesized image to generate a local motion compensated image.
- Image processing apparatus
- the re-search processing unit inputs a global motion vector generated by applying the two consecutive input images, and determines a search range of a corresponding image region between the preceding synthesized image and the input image
- the image processing apparatus according to (9).
- the input image is a photographed image with different exposure times taken continuously for outputting a still image
- the alignment processing unit includes one image included in the photographed images with different exposure times taken continuously.
- a position compensation process is performed to match the image position of the other image to the image position of the image to execute a motion compensated image generation process, and the composition processing unit performs an update of the composite image to which the motion compensated image is applied,
- the image processing apparatus according to any one of (1) to (10), wherein an output image that has been subjected to dynamic range expansion processing and noise reduction processing is generated.
- the input image is a photographed image with different exposure times continuously photographed for moving image output
- the alignment processing unit is configured to display the latest input image in the photographed images with different exposure times photographed continuously.
- a position compensation process for aligning the image position of the preceding image with the image position of the image is performed to execute a motion compensated image generation process, and the composition processing unit performs an update of the composite image to which the motion compensated image is applied,
- the image processing apparatus according to any one of (1) to (10), wherein an output image that has undergone range expansion processing and noise reduction processing is generated.
- An image processing method executed in the image processing apparatus A registration processing step in which a registration processing unit sequentially inputs, as input images, continuously shot images set at different exposure times, and executes registration between the input image and the preceding processing image;
- the synthesis processing unit executes a synthesis process step of generating an output image by executing a synthesis process between the input image after the alignment process and the preceding process image,
- the alignment processing step includes Executes an exposure ratio correction process that corrects the input image and the preceding process image to a pixel value when a common exposure time is set, and detects the corresponding pixel area by applying the exposure ratio correction image and moves between the images.
- the synthesis processing step includes An image processing method, which is a step of generating an output image subjected to dynamic range expansion processing and noise reduction processing by synthesis processing to which the motion compensation image is applied.
- a program for executing image processing in an image processing apparatus An alignment processing step for sequentially inputting, as an input image, continuous captured images set at different exposure times to the alignment processing unit, and executing alignment between the input image and the preceding processed image; Causing the synthesis processing unit to execute a synthesis process step of generating an output image by executing a synthesis process of the input image after the alignment process and the preceding process image; In the alignment processing step, Executes an exposure ratio correction process that corrects the input image and the preceding process image to a pixel value when a common exposure time is set, and detects the corresponding pixel area by applying the exposure ratio correction image and moves between the images.
- the series of processes described in the specification can be executed by hardware, software, or a combined configuration of both.
- the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
- the program can be recorded in advance on a recording medium.
- the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed on a recording medium such as a built-in hard disk.
- the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary.
- the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.
- a motion compensated image is generated by applying continuously captured images having different exposure times, and an image is synthesized by applying the generated motion compensated image.
- an image processing apparatus capable of generating an image subjected to noise reduction and high dynamic range expansion processing is realized. Specifically, a continuous processing image with different exposure times is input, a registration processing unit that executes registration between the input image and the preceding processing image, and a composition process of the input image after the positioning processing and the preceding processing image Has a synthesis processing unit.
- the alignment processing unit performs exposure ratio correction for correcting the input image and the preceding process image to the pixel value of the common exposure time, detects the motion between the images by applying the exposure ratio correction image, and detects the input image or the preceding image.
- a motion compensated image is generated by matching one of the processed images with the other image position.
- the synthesis processing unit generates an output image that has been subjected to dynamic range expansion processing and noise reduction processing by synthesis processing to which the motion compensation image is applied. Through these processes, motion-compensated images are generated by applying continuously captured images with different exposure times, and images that have been subjected to noise reduction and high dynamic range expansion processing are synthesized through image synthesis processing that uses the generated motion-compensated images. An image processing apparatus that can be generated is realized.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
異なる露光時間の連続撮影画像を適用して動き補償画像を生成し、生成した動き補償画像を適用した画像の合成処理により、ノイズ低減および高ダイナミックレンジ拡張処理を施した画像を生成する。異なる露光時間の入力画像と先行処理画像との位置合わせを実行し、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行する。位置合わせ処理部は、入力画像と先行処理画像の露光比補正を実行し、露光比補正画像を適用して画像間の動きを検出し、入力画像または先行処理画像のいずれかの画像を他方の画像位置に合わせた動き補償画像を生成する。合成処理部は、動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する。
Description
本開示は、画像処理装置、および画像処理方法、並びにプログラムに関する。特に、複数画像の合成処理により、画像のノイズ低減処理やダイナミックレンジ拡大処理等を行う画像処理装置、および画像処理方法、並びにプログラムに関する。
画像のノイズ低減処理(NR:Noise Reduction)として、連続撮影された複数枚の画像を利用した合成処理が有効な方法であることが知られている。具体的には、連続撮影画像から同一被写体の撮影画素領域である対応画素領域を検出し、これらの複数の対応画素の画素値の加算平均などの合成処理を行なうことで、ノイズを低減した画素値を算出する。
例えば、
撮影時刻t-1の先行撮影画像、
撮影時刻tの後続撮影画像、
これらの2枚の撮影画像を利用して、後続撮影画像のノイズ低減を行う場合、以下のような処理を実行する。
撮影時刻t-1の先行撮影画像、
撮影時刻tの後続撮影画像、
これらの2枚の撮影画像を利用して、後続撮影画像のノイズ低減を行う場合、以下のような処理を実行する。
まず、撮影時刻t-1の先行撮影画像を、時刻tの後続撮影画像の位置に併せる位置合わせ処理を行なう。連続撮影された2つの画像は、手振れなどにより画像位置が移動している場合が多く、このずれを修正する位置合わせである。この処理は、動き補償(または位置補償)と呼ばれる。また、位置合わせのための移動を行った画像を動き補償(MC:Motion Compensation)画像と呼ぶ。
動き補償画像(MC画像)を生成するためには、まず、撮影時刻t-1の先行撮影画像と、撮影時刻tの後続撮影画像との2つの画像間の動き量や方向を推定する動き推定を行う。具体的には動きベクトルを求める。この動きベクトルに基づいて、撮影時刻t-1の先行撮影画像を、撮影時刻tの後続撮影画像の画像位置に併せる動き補償処理(MC)を行なう。
撮影時刻t-1の先行撮影画像に対する動き補償によって生成した動き補償画像(MC画像)は、撮影時刻tの後続撮影画像の対応画素位置に同一被写体が撮影された画像となる。これらの2つの画像の対応画素の2つの画素値を利用して補正画素値を算出する。例えば撮影時刻tの後続撮影画像の画素にノイズが含まれている場合、撮影時刻t-1の先行撮影画像の画素値を利用することで、ノイズを軽減することができる。
このような複数の連続撮影画像に基づく出力画像の生成処理は、上記のノイズ低減処理のみならず、異なる露光時間の連続撮影画像を用いたダイナミックレンジ拡大画像の生成処理等においても利用される。
異なる露光時間の連続撮影画像を用いたダイナミックレンジ拡大画像の生成処理は、例えば以下のように実行される。短時間露光画像と長時間露光画像を連続撮影し、各画像に含まれる有効画素値を選択的に利用あるいはブレンドして、低輝度領域から高輝度領域まで有効画素値を設定したダイナミックレンジ拡大画像を生成する。
長時間露光画像に含まれる飽和画素領域については短時間露光画素の画素値を優先的に利用し、短時間露光画像における黒つぶれ領域については、長時間露光画像の画素値を優先的に利用する。このように異なる露光時間の複数画像を合成することで、低輝度領域から高輝度領域まで精度の高い有効画素値を設定したダイナミックレンジ拡大画像が生成可能となる。
このように、複数の連続撮影画像に基づく出力画像の生成処理は、
(1)ノイズ除去処理、
(2)ダイナミックレンジ拡大画像の生成処理、
これらの異なる目的の画像生成処理に際して利用される処理である。
(1)ノイズ除去処理、
(2)ダイナミックレンジ拡大画像の生成処理、
これらの異なる目的の画像生成処理に際して利用される処理である。
これらのノイズ除去と、ダイナミックレンジ拡大処理の双方を実行する画像処理構成例として、例えば図1(a)、(b)に示す構成がある。
図1(a)は、先行処理としてダイナミックレンジ拡張処理を実行し、後続処理として、ダイナミックレンジ拡張画像に対するノイズ除去処理を行う構成である。
一方、図1(b)は、先行処理として、ノイズ除去処理を実行し、後続処理として、ノイズ除去画像を適用したダイナミックレンジ拡張処理を実行する構成である。
図1(a)は、先行処理としてダイナミックレンジ拡張処理を実行し、後続処理として、ダイナミックレンジ拡張画像に対するノイズ除去処理を行う構成である。
一方、図1(b)は、先行処理として、ノイズ除去処理を実行し、後続処理として、ノイズ除去画像を適用したダイナミックレンジ拡張処理を実行する構成である。
図1(a)に示す構成を適用した処理について説明する。異なる露光時間に設定された入力画像10が、順次、フレームメモリ11に入力される。
例えばN種類の露光時間の設定がある場合、N種類の露光時間のN枚の連続撮影画像が、順次、フレームメモリ11に格納される。
例えばN種類の露光時間の設定がある場合、N種類の露光時間のN枚の連続撮影画像が、順次、フレームメモリ11に格納される。
ダイナミックレンジ拡張処理実行部12は、フレームメモリ11に格納されたN種類の露光時間の連続撮影画像を取得し、各画像の対応画素の画素値合成(ブレンド)処理を実行してダイナミックレンジ拡張画像を生成する。
例えば、高輝度領域については、長時間露光画像は飽和画素値となっている可能性が高いので、短時間露光画像の画素値を優先的に利用する。一方、低輝度領域については、長時間露光画像の画素値を優先的に利用する。
ダイナミックレンジ拡張処理実行部12は、このようにN枚の異なる露光時間の撮影画像を利用し、各画素単位で輝度に応じたブレンド処理を実行して、出力画素値の算出を実行し、N枚の撮影画像に基づく1枚のダイナミックレンジ拡張画像を生成する。
ダイナミックレンジ拡張処理実行部12は、このようにN枚の異なる露光時間の撮影画像を利用し、各画素単位で輝度に応じたブレンド処理を実行して、出力画素値の算出を実行し、N枚の撮影画像に基づく1枚のダイナミックレンジ拡張画像を生成する。
ダイナミックレンジ拡張処理実行部12の生成したダイナミックレンジ拡張画像は、ノイズ除去処理実行部13に入力される。
ノイズ除去処理実行部13は、N枚単位の撮影画像に基づいて生成された1枚のダイナミックレンジ拡張画像を順次入力し、先行するN枚セットに基づく1枚のダイナミックレンジ拡張画像と、後続のN枚セットに基づく1枚のダイナミックレンジ拡張画像、これらの複数のダイナミックレンジ拡張画像の合成処理によって、ノイズ除去画像を生成する。例えば後続画像(ダイナミックレンジ拡張画像)の画素にノイズが含まれている場合、先行画像(ダイナミックレンジ拡張画像)の画素値を利用することで、ノイズを軽減したノイズ除去画像を生成して出力画像15を出力する。
フレームメモリ14は、先行画像の格納部として利用される。
ノイズ除去処理実行部13は、N枚単位の撮影画像に基づいて生成された1枚のダイナミックレンジ拡張画像を順次入力し、先行するN枚セットに基づく1枚のダイナミックレンジ拡張画像と、後続のN枚セットに基づく1枚のダイナミックレンジ拡張画像、これらの複数のダイナミックレンジ拡張画像の合成処理によって、ノイズ除去画像を生成する。例えば後続画像(ダイナミックレンジ拡張画像)の画素にノイズが含まれている場合、先行画像(ダイナミックレンジ拡張画像)の画素値を利用することで、ノイズを軽減したノイズ除去画像を生成して出力画像15を出力する。
フレームメモリ14は、先行画像の格納部として利用される。
なお、この図1(a)に示す構成を適用した処理については、例えば、特許文献1(特開2010-041200号公報)に記載がある。この特許文献1の記載によれば、まず、2枚の異なる露光時間で撮像された画像信号に対して合成処理によるダイナミックレンジ拡張処理を行う。その後、動き判定結果と露光時間に応じたフレーム巡回量を用いて1フレーム前の合成画像信号と、最新入力画像であるカレントフレームの合成画像信号に対する合成・ブレンド処理によるノイズ除去処理を行う。これらの処理を順次実行することよりダイナミックレンジ拡張とノイズ除去処理を行うものである。
しかし、この方法では、図1(a)に示す構成から理解されるように、ダイナミックレンジ拡張処理に適用する複数の異なる露光時間の画像を格納するフレームメモリ11と、ノイズ除去処理に適用する画像を格納するフレームメモリ14が必要となる。さらに、ダイナミックレンジ拡張処理実行部12と、ノイズ除去処理実行部13は、各々において、画像合成のために画像間の動き情報の算出や位置合わせを行う必要がある。これらの処理を各処理部において各々実行することが必要となるため、回路規模や消費電力が大きくなってしまうという問題がある。
次に、図1(b)に示す構成を適用した処理について説明する。図1(b)に示す構成において、異なる露光時間に設定された入力画像20は、順次、ノイズ除去処理実行部21に入力される。
この例では、入力画像20として、N種類の露光時間に設定されたN枚の連続撮影画像が順次入力される。
この例では、入力画像20として、N種類の露光時間に設定されたN枚の連続撮影画像が順次入力される。
ノイズ除去処理実行部21は、入力画像20を入力し、入力画像と同じ露光時間の画像をフレームメモリ22から取り出して、同じ露光時間の2枚の画像の位置合わせを実行し、位置合わせ後の画像の対応画素同士の合成処理によってノイズ除去処理を実行し、ノイズ除去画像を生成してフレームメモリ22に再格納する。
この処理によって、フレームメモリ22には、N種類の露光時間のN枚のノイズ除去画像が格納される。
この処理によって、フレームメモリ22には、N種類の露光時間のN枚のノイズ除去画像が格納される。
ダイナミックレンジ拡張処理実行部23は、フレームメモリ22に格納されたN種類の露光時間のN枚のノイズ除去画像を利用して各画像の対応画素の画素値ブレンド処理を実行してダイナミックレンジ拡張画像を生成する。
例えば、高輝度領域については、長時間露光画像は飽和画素値となっている可能性が高いので、短時間露光画像の画素値を優先的に利用する。一方、低輝度領域については、長時間露光画像の画素値を優先的に利用する。
ダイナミックレンジ拡張処理実行部23は、このようにN枚の異なる露光時間のノイズ除去画像を利用し、各画素単位で輝度に応じたブレンド処理を実行して、出力画素値の算出を実行し、N枚のノイズ除去画像に基づく1枚のダイナミックレンジ拡張画像を生成し、これを出力画像25として出力する。
例えば、高輝度領域については、長時間露光画像は飽和画素値となっている可能性が高いので、短時間露光画像の画素値を優先的に利用する。一方、低輝度領域については、長時間露光画像の画素値を優先的に利用する。
ダイナミックレンジ拡張処理実行部23は、このようにN枚の異なる露光時間のノイズ除去画像を利用し、各画素単位で輝度に応じたブレンド処理を実行して、出力画素値の算出を実行し、N枚のノイズ除去画像に基づく1枚のダイナミックレンジ拡張画像を生成し、これを出力画像25として出力する。
なお、この図1(b)に示す構成を適用した処理については、例えば、特許文献2(特開2008-160881号公報)、特許文献3(特開2007-049227号公報)、特許文献4(特開2006-311240号公報)などに記載されている。
これらの文献には、同一もしくは異なる露光時間で撮像された複数枚の画像信号に対して時間方向に連続な同一露光時間の画像信号を用いて、例えばFIRフィルタを適用した処理によってノイズ除去を行い、その後、ノイズ除去を行った露光時間の異なる複数の画像信号を合成してダイナミックレンジ拡張画像を生成する構成を開示している。
これらの文献には、同一もしくは異なる露光時間で撮像された複数枚の画像信号に対して時間方向に連続な同一露光時間の画像信号を用いて、例えばFIRフィルタを適用した処理によってノイズ除去を行い、その後、ノイズ除去を行った露光時間の異なる複数の画像信号を合成してダイナミックレンジ拡張画像を生成する構成を開示している。
しかし、この図1(b)に示す構成においても、図1(a)に示す構成と同様、フレームメモリ22などの大容量メモリが必要となる。また、ノイズ除去処理実行部21、およびダイナミックレンジ拡張処理実行部23は、動き情報の算出や位置合わせ処理を各々実行することが必要となる。
従って、図1(A)の構成と同様、回路規模、消費電力の増加が問題となる。また、図1(B)に示す構成では、高速処理を実現するためには、ダイナミックレンジ拡張処理実行部23が複数枚の画像を同時にフレームメモリ22から読みだす必要があり、十分なバス帯域がない場合、バス帯域がひっ迫し、処理遅延を起してしまうという問題も発生する可能性がある。
本開示は、例えば上記問題点に鑑みてなされたものであり、簡易な構成で、ダイナミックレンジ拡張処理とノイズ除去処理を併せて実行する画像処理装置、および画像処理方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、
位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理部を有し、
前記位置合わせ処理部は、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力し、
前記合成処理部は、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する画像処理装置にある。
異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、
位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理部を有し、
前記位置合わせ処理部は、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力し、
前記合成処理部は、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する画像処理装置にある。
さらに、本開示の画像処理装置の一実施態様において、前記先行処理画像は、前記合成処理部が先行入力画像に基づいて生成した先行合成画像であり、前記位置合わせ処理部は、前記先行合成画像と前記入力画像との位置合わせ処理を実行する。
さらに、本開示の画像処理装置の一実施態様において、前記位置合わせ処理部は、位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて画像位置を変更したローカル動き補償画像を生成する。
さらに、本開示の画像処理装置の一実施態様において、前記位置合わせ処理部は、位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて、さらに画像全体の動きを示すグローバル動きベクトルを算出し、算出したグローバル動きベクトルに基づいて画像位置を変更したグローバル動き補償画像を生成する。
さらに、本開示の画像処理装置の一実施態様において、前記位置合わせ処理部は、位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて画像位置を変更したローカル動き補償画像を生成し、さらに、前記ローカル動きベクトルに基づいて、さらに画像全体の動きを示すグローバル動きベクトルを算出し、算出したグローバル動きベクトルに基づいて画像位置を変更したグローバル動き補償画像を生成する。
さらに、本開示の画像処理装置の一実施態様において、前記合成処理部は、前記ローカル動き補償画像と、前記グローバル動き補償画像と、前記入力画像を適用した画素値ブレンド処理によりブレンド画像を生成し、前記ブレンド画像と前記入力画像との合成処理により出力画像を生成する。
さらに、本開示の画像処理装置の一実施態様において、前記合成処理部は、前記ローカル動き補償画像と、前記グローバル動き補償画像と、前記入力画像を共通の露光時間に設定したと仮定した場合の画素値に設定する露光比補正を実行し、露光比補正後の入力画像とグローバル動き補償画像との対応画素の画素値差分絶対値を算出し、
算出した画素値差分絶対値と予め規定したしきい値との比較結果に応じて、出力画素値の選択または算出処理を実行する。
算出した画素値差分絶対値と予め規定したしきい値との比較結果に応じて、出力画素値の選択または算出処理を実行する。
さらに、本開示の画像処理装置の一実施態様において、前記位置合わせ処理部は、連続する2つの入力画像間の動きに基づいて、ローカル動きベクトルを算出し、算出したローカル動きベクトルを、前記合成処理部の生成した先行合成画像に適用してローカル動き補償画像を生成し、前記連続する2つの入力画像間の動きに基づいて生成したローカル動きベクトルに基づいてグローバル動きベクトルを算出し、算出したグローバル動きベクトルを、前記合成処理部の生成した先行合成画像に適用してグローバル動き補償画像を生成する。
さらに、本開示の画像処理装置の一実施態様において、前記位置合わせ処理部は、前記先行合成画像と入力画像を適用して、前記連続する2つの入力画像間の動きに基づいて算出したローカル動きベクトルの検証処理としての対応画素位置再探索処理を実行する再探索処理部を有し、前記再探索処理部における再探索処理によって修正されたローカル動きベクトルを前記先行合成画像に適用してローカル動き補償画像を生成する。
さらに、本開示の画像処理装置の一実施態様において、前記再探索処理部は、前記連続する2つの入力画像を適用して生成したグローバル動きベクトルを入力して、前記先行合成画像と入力画像間の対応画像領域の探索範囲を決定する。
さらに、本開示の画像処理装置の一実施態様において、前記入力画像は、静止画像出力のために連続撮影された異なる露光時間の撮影画像であり、前記位置合わせ処理部は、連続撮影された異なる露光時間の撮影画像に含まれる1つの画像の画像位置に他の画像の画像位置を合わせる位置合わせ処理を実行して動き補償画像生成処理を実行し、前記合成処理部は、前記動き補償画像を適用した合成画像の更新を実行して、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する。
さらに、本開示の画像処理装置の一実施態様において、前記入力画像は、動画像出力のために連続撮影された異なる露光時間の撮影画像であり、前記位置合わせ処理部は、連続撮影された異なる露光時間の撮影画像中の最新の入力画像の画像位置に先行画像の画像位置を合わせる位置合わせ処理を実行して動き補償画像生成処理を実行し、前記合成処理部は、前記動き補償画像を適用した合成画像の更新を実行して、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する。
さらに、本開示の第2の側面は、
画像処理装置において実行する画像処理方法であり、
位置合わせ処理部が、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理ステップと、
合成処理部が、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理ステップを実行し、
前記位置合わせ処理ステップは、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力するステップであり、
前記合成処理ステップは、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成するステップである画像処理方法にある。
画像処理装置において実行する画像処理方法であり、
位置合わせ処理部が、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理ステップと、
合成処理部が、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理ステップを実行し、
前記位置合わせ処理ステップは、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力するステップであり、
前記合成処理ステップは、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成するステップである画像処理方法にある。
さらに、本開示の第3の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
位置合わせ処理部に、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行させる位置合わせ処理ステップと、
合成処理部に、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成させる合成処理ステップを実行させ、
前記位置合わせ処理ステップにおいては、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力させ、
前記合成処理ステップにおいては、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成させるプログラムにある。
画像処理装置において画像処理を実行させるプログラムであり、
位置合わせ処理部に、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行させる位置合わせ処理ステップと、
合成処理部に、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成させる合成処理ステップを実行させ、
前記位置合わせ処理ステップにおいては、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力させ、
前記合成処理ステップにおいては、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成させるプログラムにある。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、異なる露光時間の連続撮影画像を適用して動き補償画像を生成し、生成した動き補償画像を適用した画像の合成処理により、ノイズ低減および高ダイナミックレンジ拡張処理を施した画像を生成可能とした画像処理装置が実現される。
具体的には、異なる露光時間の連続撮影画像を入力し、入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行する合成処理部を有する。位置合わせ処理部は、入力画像と先行処理画像を、共通露光時間の画素値に補正する露光比補正を実行し、露光比補正画像を適用して画像間の動きを検出し、入力画像または先行処理画像のいずれかの画像を他方の画像位置に合わせた動き補償画像を生成する。合成処理部は、動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する。
これらの処理により、異なる露光時間の連続撮影画像を適用して動き補償画像を生成し、生成した動き補償画像を適用した画像の合成処理により、ノイズ低減および高ダイナミックレンジ拡張処理を施した画像を生成可能とした画像処理装置が実現される。
具体的には、異なる露光時間の連続撮影画像を入力し、入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行する合成処理部を有する。位置合わせ処理部は、入力画像と先行処理画像を、共通露光時間の画素値に補正する露光比補正を実行し、露光比補正画像を適用して画像間の動きを検出し、入力画像または先行処理画像のいずれかの画像を他方の画像位置に合わせた動き補償画像を生成する。合成処理部は、動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する。
これらの処理により、異なる露光時間の連続撮影画像を適用して動き補償画像を生成し、生成した動き補償画像を適用した画像の合成処理により、ノイズ低減および高ダイナミックレンジ拡張処理を施した画像を生成可能とした画像処理装置が実現される。
以下、図面を参照しながら本開示の画像処理装置、および画像処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
1.本開示の画像処理の概要、および画像処理装置の全体構成例について
2.合成処理部の構成と画像合成処理について
3.位置合わせ処理部の構成と位置合わせ処理について
4.位置合わせ処理部において実行する位置合わせ処理の詳細について
4-1.ローカル位置合わせに基づくローカル動き補償画像の生成処理について
4-2.グローバル位置合わせに基づくグローバル動き補償画像の生成処理について
4-3.ローカル動きに基づくローカル動き補償画像と、グローバル動きに基づくグローバル動き補償画像の双方を生成するハイブリッド処理について
5.ハイブリッド型位置合わせ処理部の生成する2つの動き補償画像を適用した合成処理について
6.その他の位置合わせ処理部の実施例について
6-1.グローバル動きベクトル算出を先行して実行する実施例について
6-2.1フレーム前の入力画像を利用して動き推定を行う実施例について
6-3.対応画素位置の再探索を行なう実施例について
6-4.再探索範囲を指定可能とした実施例について
7.画像処理装置の全体構成例について
8.本開示の構成のまとめ
1.本開示の画像処理の概要、および画像処理装置の全体構成例について
2.合成処理部の構成と画像合成処理について
3.位置合わせ処理部の構成と位置合わせ処理について
4.位置合わせ処理部において実行する位置合わせ処理の詳細について
4-1.ローカル位置合わせに基づくローカル動き補償画像の生成処理について
4-2.グローバル位置合わせに基づくグローバル動き補償画像の生成処理について
4-3.ローカル動きに基づくローカル動き補償画像と、グローバル動きに基づくグローバル動き補償画像の双方を生成するハイブリッド処理について
5.ハイブリッド型位置合わせ処理部の生成する2つの動き補償画像を適用した合成処理について
6.その他の位置合わせ処理部の実施例について
6-1.グローバル動きベクトル算出を先行して実行する実施例について
6-2.1フレーム前の入力画像を利用して動き推定を行う実施例について
6-3.対応画素位置の再探索を行なう実施例について
6-4.再探索範囲を指定可能とした実施例について
7.画像処理装置の全体構成例について
8.本開示の構成のまとめ
[1.本開示の画像処理の概要、および画像処理装置の全体構成例について]
まず、本開示の画像処理の概要、および画像処理装置の全体構成例について説明する。
本開示の画像処理装置は、複数の異なる露光時間に設定された連続撮影画像を順次、入力し、これらの撮影画像を利用した画像合成処理を行ない、ダイナミックレンジの拡張処理と、ノイズ除去処理を実行して出力画像を生成する。
まず、本開示の画像処理の概要、および画像処理装置の全体構成例について説明する。
本開示の画像処理装置は、複数の異なる露光時間に設定された連続撮影画像を順次、入力し、これらの撮影画像を利用した画像合成処理を行ない、ダイナミックレンジの拡張処理と、ノイズ除去処理を実行して出力画像を生成する。
画像処理装置は、例えば図2に示すように複数の異なる露光時間で撮像された画像信号、すなわち、短時間露光画像S、長時間露光画像Lを周期的に入力して処理を実行する。すなわち、
(1)短時間露光画像S、
(2)長時間露光画像L、
これらの2つの異なる露光時間の連続撮影画像を周期的に入力し、処理を実行する。
露光時間は、以下の関係にある。
S<L
画像処理装置は、例えば、上記のように異なる露光時間S,Lの画像を順次、入力して画像合成処理を実行し、出力画像を生成する。
(1)短時間露光画像S、
(2)長時間露光画像L、
これらの2つの異なる露光時間の連続撮影画像を周期的に入力し、処理を実行する。
露光時間は、以下の関係にある。
S<L
画像処理装置は、例えば、上記のように異なる露光時間S,Lの画像を順次、入力して画像合成処理を実行し、出力画像を生成する。
画像処理装置は、このように異なる露光時間の画像を合成してノイズ低減高ダイナミックレンジ(HDR)画像を生成して出力する。
なお、図2に示した画像設定例は、露光時間の種類を2とした例であるが、本開示の処理は、任意の露光時間の種類=N、すなわちN=2以上の任意数の露光時間の画像に対する処理として実行可能である。
なお、図2に示した画像設定例は、露光時間の種類を2とした例であるが、本開示の処理は、任意の露光時間の種類=N、すなわちN=2以上の任意数の露光時間の画像に対する処理として実行可能である。
図3は、露光時間の種類N=4とした例である。すなわち、
(1)最短時間露光画像XS、
(2)短時間露光画像MS、
(3)長時間露光画像ML、
(4)最長時間露光画像XL、
これらの4つの異なる露光時間の連続撮影画像を周期的に入力し、処理を実行することも可能である。
露光時間は、以下の関係にある。
XS<MS<ML<XL
(1)最短時間露光画像XS、
(2)短時間露光画像MS、
(3)長時間露光画像ML、
(4)最長時間露光画像XL、
これらの4つの異なる露光時間の連続撮影画像を周期的に入力し、処理を実行することも可能である。
露光時間は、以下の関係にある。
XS<MS<ML<XL
画像処理装置は、例えばこれらの4つの異なる露光時間の画像を合成してノイズ低減高ダイナミックレンジ(HDR)画像を生成して出力する。
なお、図2、図3では、画像信号の入力順序を、短時間露光画像信号から長時間露光画像信号の順で記載しているが、この順序は、様々な設定としてよい。
なお、図2、図3では、画像信号の入力順序を、短時間露光画像信号から長時間露光画像信号の順で記載しているが、この順序は、様々な設定としてよい。
次に、図4を参照して本開示の画像処理装置100の主要部の構成例について説明する。図4は、本開示の画像処理装置100の主要部構成、すなわち、本開示の処理に相当するダイナミックレンジ拡張処理と、ノイズ除去処理を実行する構成を示すブロック図である。
図4に示すように画像処理装置100は、位置合わせ処理部200、合成処理部300、画像を保持するフレームメモリ400を有する。
入力画像110は、例えば先に図2、図3を参照して説明した異なる露光時間に設定されて撮影された画像である。なお、以下に説明する実施例では、図2に示すように、
(1)短時間露光画像、
(2)長時間露光画像、
これらの2つの異なる種類の露光時間に設定された画像を交互に入力して処理を行なう実施例について説明する。
入力画像110は、例えば先に図2、図3を参照して説明した異なる露光時間に設定されて撮影された画像である。なお、以下に説明する実施例では、図2に示すように、
(1)短時間露光画像、
(2)長時間露光画像、
これらの2つの異なる種類の露光時間に設定された画像を交互に入力して処理を行なう実施例について説明する。
位置合わせ処理部200は、新規の入力画像110と、前フレームまでの画像を適用した処理によって生成され、フレームメモリ400に格納された合成画像120を入力し、これらの2つの画像の位置合わせ処理を行う。
位置合わせ処理部200において位置合わせのなされた、入力画像110と、合成画像120は、合成処理部300に入力される。
合成処理部300は、位置合わせが行われた入力画像110と合成画像120を利用して、入力画像110に対応する新たな合成画像を生成する。この合成処理によって生成された合成画像は、出力画像180として出力されるとともに、次フレームの位置合わせに使うために、フレームメモリ400に格納される。
合成処理部300は、位置合わせが行われた入力画像110と合成画像120を利用して、入力画像110に対応する新たな合成画像を生成する。この合成処理によって生成された合成画像は、出力画像180として出力されるとともに、次フレームの位置合わせに使うために、フレームメモリ400に格納される。
[2.合成処理部の構成と画像合成処理について]
次に、合成処理部300の実行する画像合成処理の一例について説明する。
2枚の異なる露光時間で撮影された画像の合成処理例について説明する。
次に、合成処理部300の実行する画像合成処理の一例について説明する。
2枚の異なる露光時間で撮影された画像の合成処理例について説明する。
合成処理部300の実行する画像合成処理は、
(1)ダイナミックレンジ拡張処理
(2)ノイズ除去処理
これらの2つの処理を伴う合成処理である。
以下、これらの2つの処理の概要について、順次説明する。
(1)ダイナミックレンジ拡張処理
(2)ノイズ除去処理
これらの2つの処理を伴う合成処理である。
以下、これらの2つの処理の概要について、順次説明する。
(2-1.ダイナミックレンジ拡張処理について)
まず、図5を参照してダイナミックレンジ拡張処理の概要について説明する。
図5(1)露光時間と信号レベル(画素値)は、異なる露光時間に設定された2つの画像、すなわち、
短時間露光画像、
長時間露光画像、
これらの2つの画像のカメラ入力信号レベル(被写体輝度値)と、カメラ観測信号レベル(画素値)との対応関係を示した図である。
まず、図5を参照してダイナミックレンジ拡張処理の概要について説明する。
図5(1)露光時間と信号レベル(画素値)は、異なる露光時間に設定された2つの画像、すなわち、
短時間露光画像、
長時間露光画像、
これらの2つの画像のカメラ入力信号レベル(被写体輝度値)と、カメラ観測信号レベル(画素値)との対応関係を示した図である。
図5(1)に示すように、同じカメラ入力信号レベル(被写体輝度値)でも、露光時間によって、観測される信号レベル(画素値)が異なる。
例えば長時間露光画像は、カメラ入力信号レベル(被写体輝度値)がP以上のレベルでは、飽和画素値に設定されてしまう。すなわち、画素値が最大値となったいわゆる白とび画素となる。
例えば長時間露光画像は、カメラ入力信号レベル(被写体輝度値)がP以上のレベルでは、飽和画素値に設定されてしまう。すなわち、画素値が最大値となったいわゆる白とび画素となる。
ダイナミックレンジ拡張処理は、例えばこれらの2つの画像、すなわち、
短時間露光画像、
長時間露光画像、
これらの2つの画像の合成処理によって、被写体の低輝度~高輝度領域をより精度の高い画素値に設定して出力するものである。
短時間露光画像、
長時間露光画像、
これらの2つの画像の合成処理によって、被写体の低輝度~高輝度領域をより精度の高い画素値に設定して出力するものである。
具体的には、例えば、図5(2)ダイナミックレンジ拡張処理に示すように、長時間露光画像では飽和レベルになってしまう信号部分(入力信号レベル=P以上)の領域では、短時間露光画像をゲインアップ(露光比補正)した信号(=露光比補正短時間露光画像)を出力画像の画素値として設定する。
一方、入力信号レベル=P以下の領域では、短時間露光画像の画素値レベルは低すぎてノイズが多く含まれることが予想されるので、長時間露光画像の画素値を出力画素値として選択する。
なお、例えば入力信号レベル=P近傍では、入力信号レベルに応じて長時間露光画像と短時間露光画像の対応位置の画素値ブレンド処理によって出力画素値を決定する処理などを行なう。
なお、例えば入力信号レベル=P近傍では、入力信号レベルに応じて長時間露光画像と短時間露光画像の対応位置の画素値ブレンド処理によって出力画素値を決定する処理などを行なう。
このような処理によって、出力画像の画素値を設定することで、低輝度領域から高輝度領域まで、被写体の明るさを高精度に反映した画像を生成することが可能となる。
なお、短時間露光画像のゲインアップに適用するゲインの値は、長時間露光画像と短時間露光画像の露光比である。例えば、長時間露光画像に対する短時間露光画像の露光時間が1/2である場合は、ゲインは2とする。
なお、短時間露光画像のゲインアップに適用するゲインの値は、長時間露光画像と短時間露光画像の露光比である。例えば、長時間露光画像に対する短時間露光画像の露光時間が1/2である場合は、ゲインは2とする。
(2-2.ノイズ除去処理について)
次に、図6を参照してノイズ除去処理の概要について説明する。
ノイズ除去処理は、同じ露光時間の複数画像を利用し、これらの画像の対応画素位置の画素値を加算する等の処理、例えば平均化することで、時間方向にランダムに変化するノイズを抑圧する技術である。
次に、図6を参照してノイズ除去処理の概要について説明する。
ノイズ除去処理は、同じ露光時間の複数画像を利用し、これらの画像の対応画素位置の画素値を加算する等の処理、例えば平均化することで、時間方向にランダムに変化するノイズを抑圧する技術である。
図6には、同一の露光時間の連続撮影画像として、
(1)n-1フレーム
(2)nフレーム
これらの2つの連続撮影画像についてのカメラ入力信号レベル(被写体輝度値)と、カメラ観測信号レベル(画素値)との対応関係を示している。
ノイズの影響で、本来、直線に設定されるべきグラフが、乱れた線になっている。
このノイズは、例えば外乱など様々な影響によって画素に蓄積される電荷に起因する。
複数の画像の対応画素値を加算して平均化することで、多くのノイズが除去可能である。
(1)n-1フレーム
(2)nフレーム
これらの2つの連続撮影画像についてのカメラ入力信号レベル(被写体輝度値)と、カメラ観測信号レベル(画素値)との対応関係を示している。
ノイズの影響で、本来、直線に設定されるべきグラフが、乱れた線になっている。
このノイズは、例えば外乱など様々な影響によって画素に蓄積される電荷に起因する。
複数の画像の対応画素値を加算して平均化することで、多くのノイズが除去可能である。
具体的には、たとえば、図6に示すように、
(1)n-1フレーム
(2)nフレーム
これらの2つの連続撮影画像の対応画素の画素値の加算平均処理を実行して、
(3)ノイズ低減nフレーム
を生成する。
この処理によって、撮影画像に含まれるノイズ成分を効率的に除去(低減)することが可能となる。
(1)n-1フレーム
(2)nフレーム
これらの2つの連続撮影画像の対応画素の画素値の加算平均処理を実行して、
(3)ノイズ低減nフレーム
を生成する。
この処理によって、撮影画像に含まれるノイズ成分を効率的に除去(低減)することが可能となる。
(2-3.ダイナミックレンジ拡張処理とノイズ低減処理を併せて実行する合成処理部の構成例について)
次に、上述したダイナミックレンジ拡張処理とノイズ低減処理を併せて実行する合成処理部の構成例について、図7を参照して説明する。
次に、上述したダイナミックレンジ拡張処理とノイズ低減処理を併せて実行する合成処理部の構成例について、図7を参照して説明する。
図7は、上述したダイナミックレンジ拡張処理とノイズ低減処理を併せて実行する合成処理部300の一構成例を示すブロック図である。図4に示す画像処理装置100の合成処理部300の詳細構成例に相当する。
図7に示すように、合成処理部300は、入力画像110と合成画像120を入力し、出力画像180を出力する。
入力画像は、例えば動画撮影時であれば、動画を構成する各フレームの画像である。静止画撮影時であれば、静止画撮影時の連続撮影画像の1つの画像である。
合成画像120は、入力画像110の入力前の先行入力画像を利用して合成処理部300において、生成された合成画像である。
なお、これらの入力画像110と合成画像120は、図4に示す位置合わせ処理部200において位置合わせの行われた後に合成処理部300に入力される。
入力画像は、例えば動画撮影時であれば、動画を構成する各フレームの画像である。静止画撮影時であれば、静止画撮影時の連続撮影画像の1つの画像である。
合成画像120は、入力画像110の入力前の先行入力画像を利用して合成処理部300において、生成された合成画像である。
なお、これらの入力画像110と合成画像120は、図4に示す位置合わせ処理部200において位置合わせの行われた後に合成処理部300に入力される。
図7に示すように、合成処理部300は、以下の構成を有する。
入力画像110の露光比補正を実行する露光比補正部311、
露光比補正部311の生成した露光比補正入力画像に対する平滑化処理を実行する平滑化処理部312、
入力画像110以前の先行入力画像に対する合成処理によって生成した合成画像120に対する平滑化処理を実行する平滑化処理部313、
平滑化処理部312の生成した入力画像に基づく平滑化画像と、平滑化処理部313の生成した合成画像120に基づく平滑化画像を利用して対応画素単位の合成係数(α)を算出する合成係数算出部314、
合成係数算出部314の算出した合成係数(α)を適用して、入力画像110と、合成画像120との対応画素の合成処理(αブレンド)を実行して出力画像180の構成各画素の画素値を決定する合成処理実行部315、
合成処理部300は、これらの構成を有する。
入力画像110の露光比補正を実行する露光比補正部311、
露光比補正部311の生成した露光比補正入力画像に対する平滑化処理を実行する平滑化処理部312、
入力画像110以前の先行入力画像に対する合成処理によって生成した合成画像120に対する平滑化処理を実行する平滑化処理部313、
平滑化処理部312の生成した入力画像に基づく平滑化画像と、平滑化処理部313の生成した合成画像120に基づく平滑化画像を利用して対応画素単位の合成係数(α)を算出する合成係数算出部314、
合成係数算出部314の算出した合成係数(α)を適用して、入力画像110と、合成画像120との対応画素の合成処理(αブレンド)を実行して出力画像180の構成各画素の画素値を決定する合成処理実行部315、
合成処理部300は、これらの構成を有する。
合成処理実行部315は、入力画像110と合成画像120の画素毎の画素値合成(αブレンド)によって出力画像180の各画素値を算出する。αブレンド処理による出力画像の画素値(Ot)の算出式を、以下の(式1)に示す。
O(t)=(α×I(t))+((1-α)×O(t-1)) ・・・(式1)
ただし、
αは、0≦α≦1の合成係数(ブレンド係数)、
O(t)は出力画像としての合成画像の画素値、
I(t)は入力画像の画素値、
O(t-1)は前フレーム対応の合成画像、
である。
なお、合成係数(α)の算出シーケンスについては、後段で図8、図9に示すフローチャートを参照して説明する。
O(t)=(α×I(t))+((1-α)×O(t-1)) ・・・(式1)
ただし、
αは、0≦α≦1の合成係数(ブレンド係数)、
O(t)は出力画像としての合成画像の画素値、
I(t)は入力画像の画素値、
O(t-1)は前フレーム対応の合成画像、
である。
なお、合成係数(α)の算出シーケンスについては、後段で図8、図9に示すフローチャートを参照して説明する。
露光比補正311では、入力画像110に対して、長時間露光画像との露光比だけゲインアップをする露光比補正処理を行う。例えば図5を参照して説明したように、長時間露光画像と短時間露光画像との露光時間比が2:1である場合、入力画像110が短時間露光画像のときはゲインを2として、各画素値を2倍に設定するゲインアップ処理を行なう。
一方、入力画像110が長時間露光画像のときは、ゲイン=1、つまり入力画像の画素値の変更を行なうことなく出力する。
一方、入力画像110が長時間露光画像のときは、ゲイン=1、つまり入力画像の画素値の変更を行なうことなく出力する。
露光比補正された入力画像と合成画像は、それぞれ平滑化処理部312,313に入力され、平滑化処理が実行される。この平滑化処理は合成係数算出部314における合成係数算出処理におけるノイズの影響を抑制するための処理である。
合成係数算出部314では、平滑化された入力画像と合成画像を入力し、これらの画像に基づいて各対応画素単位で合成係数αを算出する。なお、合成係数αの算出手順については、図8、図9に示す合成係数算出フローを参照して後段で説明する。
最後に、合成処理実行部315が、合成係数算出部314から出力される合成係数αを適用して、入力画像110と、合成画像120との対応画素の合成処理(αブレンド)を実行して出力画像180の構成各画素の画素値を決定する。この処理は、αブレンド処理、あるいはαブレンディングと呼ばれる。
図7に示す合成処理部300では、異なる露光時間に設定された入力画像を順次、入力し、先行入力画像に基づいて生成した先行処理画像、例えば先行合成画像との合成処理によって出力画像を生成する。
すなわち異なる露光時間の画像間の合成処理を行なう構成であり、この処理により、ダイナミックレンジ拡張処理とノイズ低減処理が併せて実行される。
出力画像は、例えば各露光時間の1セット単位で、1枚の出力画像を生成して出力することになる。なお、複数セット単位で1枚の出力画像を生成する構成としてもよい。
すなわち異なる露光時間の画像間の合成処理を行なう構成であり、この処理により、ダイナミックレンジ拡張処理とノイズ低減処理が併せて実行される。
出力画像は、例えば各露光時間の1セット単位で、1枚の出力画像を生成して出力することになる。なお、複数セット単位で1枚の出力画像を生成する構成としてもよい。
合成係数算出部314の実行する合成係数αの算出手順について、図8、図9に示すフローチャートを参照して説明する。なお、合成係数αは局所領域、例えば画素毎に算出する。
図8、図9に示すフローチャートの各ステップの処理について説明する。
図8、図9に示すフローチャートの各ステップの処理について説明する。
まず、ステップS101で入力画像を入力する。なお、画像は露光比補正され平滑化処理のなされた画像とする。例えば長時間露光画像と短時間露光画像の露光時間比が2:1である場合、露光比補正により、短時間露光画像の画素値は2倍に設定する露光比補正(ゲインアップ)が行われる。
このステップS101の画像入力処理は、図7に示す構成において、平滑化処理部312から合成係数算出部314に対する画像入力に対応する。
このステップS101の画像入力処理は、図7に示す構成において、平滑化処理部312から合成係数算出部314に対する画像入力に対応する。
次に、ステップS102において、入力画像が1フレーム目かどうか判定し、1フレーム目の場合は、S121に進み、ステップS121~S123の処理を実行してステップS181に進む。ステップS121~S123では以下の処理を実行する。
ステップS121では、短時間露光画像用更新回数MをM=1にリセット、
ステップS122では、長時間露光画像用更新回数NをN=0にリセット、
ステップS123では、合成係数α=1とする。
これらのパラメータ更新処理を実行してステップS181に進む。
ステップS121では、短時間露光画像用更新回数MをM=1にリセット、
ステップS122では、長時間露光画像用更新回数NをN=0にリセット、
ステップS123では、合成係数α=1とする。
これらのパラメータ更新処理を実行してステップS181に進む。
なお、この実施例において、合成係数αは、新たに生成する更新合成画像に対する入力画像の画素値の重みに相当する。
合成係数α=1の場合、更新後の合成画像の画素値は、入力画像の画素値と同じ画素値に設定する。
一方、合成係数α=0の場合は、更新後の合成画像の画素値は、更新前の合成画像の画素値のままとして、入力画像の画素値の反映は行わないことを意味する。
また、例えば、合成係数α=0.5の場合は、更新合成画像の画素値を、更新前の合成画像の画素値と、入力画像の画素値の平均値とする処理を行なうことに相当する。
合成係数α=1の場合、更新後の合成画像の画素値は、入力画像の画素値と同じ画素値に設定する。
一方、合成係数α=0の場合は、更新後の合成画像の画素値は、更新前の合成画像の画素値のままとして、入力画像の画素値の反映は行わないことを意味する。
また、例えば、合成係数α=0.5の場合は、更新合成画像の画素値を、更新前の合成画像の画素値と、入力画像の画素値の平均値とする処理を行なうことに相当する。
図8のフローの説明に戻る。
ステップS102において、入力画像が2フレーム目以降だった場合は、ステップS103に進む。
ステップS103では、直前の処理において生成した最新の合成画像を取得する。
この合成画像の取得は、図7に示す構成において、平滑化処理部313から合成係数算出部314に対する画像入力に対応する。すなわち、平滑化処理の施された合成画像120を入力する。
ステップS102において、入力画像が2フレーム目以降だった場合は、ステップS103に進む。
ステップS103では、直前の処理において生成した最新の合成画像を取得する。
この合成画像の取得は、図7に示す構成において、平滑化処理部313から合成係数算出部314に対する画像入力に対応する。すなわち、平滑化処理の施された合成画像120を入力する。
次に、ステップS104において、入力画像の露光時間情報を取得する。例えば長時間露光画像であるか短時間露光画像であるかの情報である。
次に、ステップS105において、入力画像の露光情報から入力画像が短時間露光画像か長時間露光画像か判定する。
次に、ステップS105において、入力画像の露光情報から入力画像が短時間露光画像か長時間露光画像か判定する。
入力画像が長時間露光画像である場合、ステップS106に進む。
ステップS106では、ステップS103で取得した直前の処理で生成した最新の合成画像の処理対象画素の画素値と飽和レベルを比較する。
なお、この実施例において、例えば合成画像の飽和レベルは長時間露光画像の飽和レベルと同じ設定とする。例えば画素値が0~255の範囲で設定される場合、画素値255の設定画素は飽和レベル(飽和画素)であると判定する。
ステップS106では、ステップS103で取得した直前の処理で生成した最新の合成画像の処理対象画素の画素値と飽和レベルを比較する。
なお、この実施例において、例えば合成画像の飽和レベルは長時間露光画像の飽和レベルと同じ設定とする。例えば画素値が0~255の範囲で設定される場合、画素値255の設定画素は飽和レベル(飽和画素)であると判定する。
合成画像の処理対象画素の画素値が飽和レベル未満である(ステップS106の判定=Yes)場合は、ステップS108に進み、飽和レベル未満でない(ステップS106の判定=No)場合は、ステップS110に進む。
合成画像の処理対象画素の画素値が飽和レベル未満(ステップS106の判定=Yes)であり、ステップS108に進んだ場合は、ステップS108において、入力画像と合成画像の処理対象画素同士の画素値差分を算出し、ステップS151に進む。
一方、合成画像の処理対象画素の画素値が飽和レベル(ステップS106の判定=No)であり、ステップS110に進んだ場合は、ステップS110において、入力画像と直前生成合成画像の処理対象画素の合成処理に適用する合成係数αを、α=0として、ステップS181に進む。
なお、前述したように合成係数αは、入力画像と合成画像の対応画素の合成に適用する重み係数であり、各画素単位で設定する値である。本実施例において、合成係数αは、新たに生成する更新合成画像に対する入力画像の画素値の重みに相当する。
なお、前述したように合成係数αは、入力画像と合成画像の対応画素の合成に適用する重み係数であり、各画素単位で設定する値である。本実施例において、合成係数αは、新たに生成する更新合成画像に対する入力画像の画素値の重みに相当する。
次に、ステップS105において、入力画像が短時間露光画像であると判定された場合の処理について説明する。
ステップS105において、入力画像が短時間露光画像であると判定した場合、ステップS107に進む。
ステップS107では、ステップS103で取得した直前の処理で生成した最新の合成画像の処理対象画素の画素値と飽和レベルを比較する。
合成画像の処理対象画素の画素値が飽和レベル未満である(ステップS107の判定=Yes)場合は、ステップS110に進み、飽和レベル未満でない(ステップS106の判定=No)場合は、ステップS109に進む。
ステップS105において、入力画像が短時間露光画像であると判定した場合、ステップS107に進む。
ステップS107では、ステップS103で取得した直前の処理で生成した最新の合成画像の処理対象画素の画素値と飽和レベルを比較する。
合成画像の処理対象画素の画素値が飽和レベル未満である(ステップS107の判定=Yes)場合は、ステップS110に進み、飽和レベル未満でない(ステップS106の判定=No)場合は、ステップS109に進む。
合成画像の処理対象画素の画素値が飽和レベル未満(ステップS107の判定=Yes)であり、ステップS110に進んだ場合は、ステップS110において、入力画像と直前生成合成画像の処理対象画素の合成処理に適用する合成係数αを、α=0として、ステップS181に進む。
なお、前述したように、合成係数αは、入力画像と合成画像の対応画素の合成に適用する重み係数であり、各画素単位で設定する値である。本実施例において、合成係数αは、新たに生成する更新合成画像に対する入力画像の画素値の重みに相当する。
なお、前述したように、合成係数αは、入力画像と合成画像の対応画素の合成に適用する重み係数であり、各画素単位で設定する値である。本実施例において、合成係数αは、新たに生成する更新合成画像に対する入力画像の画素値の重みに相当する。
一方、合成画像の処理対象画素の画素値が飽和レベル(ステップS107の判定=No)であり、ステップS109に進んだ場合は、ステップS109において、入力画像と直前生成合成画像の処理対象画素同士の画素値差分を算出し、ステップS161に進む。
次に、図9を参照して、ステップS108以下の処理について説明する。
ステップS108の処理の後は、図9に示すステップS151以下の処理を実行する。なお、この処理は、以下の判定や処理が実行された場合に行われる処理である。
(S105)入力画像が長時間露光画像であり、
(S106)処理対象画素となる合成画像の画素値が飽和レベル未満であり、
(S108)入力画像と合成画像の処理対象画素の画素値差分の算出、
これらの判定および処理が実行された後の処理として実行される。
ステップS108の処理の後は、図9に示すステップS151以下の処理を実行する。なお、この処理は、以下の判定や処理が実行された場合に行われる処理である。
(S105)入力画像が長時間露光画像であり、
(S106)処理対象画素となる合成画像の画素値が飽和レベル未満であり、
(S108)入力画像と合成画像の処理対象画素の画素値差分の算出、
これらの判定および処理が実行された後の処理として実行される。
ステップS151において、ステップS108で算出した画素値差分、すなわち、入力画像と合成画像の処理対象画素の画素値差分と、予め設定したしきい値とを比較する。画素値差分がしきい値未満(ステップS151の判定=Yes)である場合は、ステップS152に進む。
一方、画素値差分がしきい値以上(ステップS151の判定=No)である場合は、ステップS154に進み、更新回数Nをリセットし、N=0としてステップS155に進む。
一方、画素値差分がしきい値以上(ステップS151の判定=No)である場合は、ステップS154に進み、更新回数Nをリセットし、N=0としてステップS155に進む。
ステップS151において、画素値差分がしきい値未満(ステップS151の判定=Yes)と判定し、ステップS152に進むと、ステップS152において、長時間露光画像用更新回数Nを1つ増加させるインクリメント処理を実行する。
さらに、ステップS153において、更新回数Nを、予め設定した上限値でクリップして、S155で合成係数αを、α=1/Nに設定する。
最後に、ステップS181に進み、ステップS155で設定した合成係数α=1/Nを出力する。
さらに、ステップS153において、更新回数Nを、予め設定した上限値でクリップして、S155で合成係数αを、α=1/Nに設定する。
最後に、ステップS181に進み、ステップS155で設定した合成係数α=1/Nを出力する。
次に、図9を参照して、ステップS109以下の処理について説明する。
ステップS109の処理の後は、図9に示すステップS161以下の処理を実行する。なお、この処理は、以下の判定や処理が実行された場合に行われる処理である。
(S105)入力画像が短時間露光画像であり、
(S107)処理対象画素となる合成画像の画素値が飽和レベルであり、
(S109)入力画像と合成画像の処理対象画素の画素値差分を算出した後の処理として実行される。
ステップS109の処理の後は、図9に示すステップS161以下の処理を実行する。なお、この処理は、以下の判定や処理が実行された場合に行われる処理である。
(S105)入力画像が短時間露光画像であり、
(S107)処理対象画素となる合成画像の画素値が飽和レベルであり、
(S109)入力画像と合成画像の処理対象画素の画素値差分を算出した後の処理として実行される。
ステップS161において、ステップS109で算出した画素値差分、すなわち、入力画像と合成画像の処理対象画素の画素値差分と、予め設定したしきい値とを比較する。画素値差分がしきい値未満(ステップS161の判定=Yes)である場合は、ステップS162に進む。
一方、画素値差分がしきい値以上(ステップS161の判定=No)である場合は、ステップS164に進み、更新回数Nをリセットし、N=0としてステップS165に進む。
一方、画素値差分がしきい値以上(ステップS161の判定=No)である場合は、ステップS164に進み、更新回数Nをリセットし、N=0としてステップS165に進む。
ステップS161において、画素値差分がしきい値未満(ステップS161の判定=Yes)と判定し、ステップS162に進むと、ステップS162において、短時間露光画像用更新回数Mを1つ増加させるインクリメント処理を実行する。
さらに、ステップS163において、更新回数Mを、予め設定した上限値でクリップして、S165で合成係数αを、α=1/Mに設定する。
最後に、ステップS181に進み、ステップS165で設定した合成係数α=1/Mを出力する。
さらに、ステップS163において、更新回数Mを、予め設定した上限値でクリップして、S165で合成係数αを、α=1/Mに設定する。
最後に、ステップS181に進み、ステップS165で設定した合成係数α=1/Mを出力する。
次に、図9を参照して、ステップS110以下の処理について説明する。
ステップS110の処理の後は、図9に示すステップS181の処理を実行する。なお、この処理は、図8に示す、
ステップS106の判定処理においてNoと判定された場合、または、
ステップS107の判定処理においてYesと判定された場合、
上記いずれかの場合に実行する処理である。
ステップS110の処理の後は、図9に示すステップS181の処理を実行する。なお、この処理は、図8に示す、
ステップS106の判定処理においてNoと判定された場合、または、
ステップS107の判定処理においてYesと判定された場合、
上記いずれかの場合に実行する処理である。
すなわち、
(S105)入力画像が長時間露光画像であり、
(S106)処理対象画素となる合成画像の画素値が飽和レベル未満であると判定した場合、
または、
(S105)入力画像が短時間露光画像であり、
(S107)処理対象画素となる合成画像の画素値が飽和レベルであると判定した場合、
これらのいずれかの条件を満足する場合に、
ステップS110において、合成係数αをα=0に設定し、ステップS181において、その合成係数αとして、α=0を出力する。
(S105)入力画像が長時間露光画像であり、
(S106)処理対象画素となる合成画像の画素値が飽和レベル未満であると判定した場合、
または、
(S105)入力画像が短時間露光画像であり、
(S107)処理対象画素となる合成画像の画素値が飽和レベルであると判定した場合、
これらのいずれかの条件を満足する場合に、
ステップS110において、合成係数αをα=0に設定し、ステップS181において、その合成係数αとして、α=0を出力する。
次に、図9を参照して、ステップS123以下の処理について説明する。
ステップS123の処理の後は、図9に示すステップS181の処理を実行する。なお、この処理は、図8に示すステップS102の判定処理において入力画像が1フレーム目と判定された場合の処理である。
すなわち、
図8に示すステップS102の判定処理において入力画像が1フレーム目と判定され、その後、
ステップS121において、短時間露光画像用更新回数MをM=1にリセット、
ステップS122において、長時間露光画像用更新回数NをN=0にリセット、
ステップS123において、合成係数α=1とする処理を実行し、
これらのパラメータ更新処理を実行してステップS181に進み、ステップS123で設定した合成係数αとして、α=1を出力する。
ステップS123の処理の後は、図9に示すステップS181の処理を実行する。なお、この処理は、図8に示すステップS102の判定処理において入力画像が1フレーム目と判定された場合の処理である。
すなわち、
図8に示すステップS102の判定処理において入力画像が1フレーム目と判定され、その後、
ステップS121において、短時間露光画像用更新回数MをM=1にリセット、
ステップS122において、長時間露光画像用更新回数NをN=0にリセット、
ステップS123において、合成係数α=1とする処理を実行し、
これらのパラメータ更新処理を実行してステップS181に進み、ステップS123で設定した合成係数αとして、α=1を出力する。
各入力画像に対する合成処理の具体例について、図10~図12を参照して説明する。
図10~図12に示す例は、入力画像として、
短時間露光画像、
長時間露光画像、
これらの2種類の露光時間の画像を順次、入力し、
総計フレーム数=2nフレームを用いて、合成画像を順次、更新して出力合成画像を生成する場合の処理例を説明する図である。
図10~図12に示す例は、入力画像として、
短時間露光画像、
長時間露光画像、
これらの2種類の露光時間の画像を順次、入力し、
総計フレーム数=2nフレームを用いて、合成画像を順次、更新して出力合成画像を生成する場合の処理例を説明する図である。
入力画像としての撮影画像には、山と空があり、長時間露光画像では、空が飽和してしまう場合を示している。最初の入力画像であるフレーム1は、短時間露光画像Sである。この最初の入力画像を入力した際の処理は、1フレーム目なので合成係数α=1とする。すなわち、図8、図9に示すフローの以下の処理に従って合成係数α=1とする。
ステップS102の判定=Yes、
ステップS121,S122,S123,S181の各処理を実行、
これらの処理を実行して、合成係数αを、α=1とする。
ステップS102の判定=Yes、
ステップS121,S122,S123,S181の各処理を実行、
これらの処理を実行して、合成係数αを、α=1とする。
前述したように、合成係数αは、新たに生成する更新合成画像に対する入力画像の画素値の重みに相当する。
合成係数α=1の場合、更新合成画像の画素値を入力画像の画素値に設定する処理を行なうことに相当する。
従って、図10のフレーム1のエントリに示す合成画像の画素値は、すべて入力画像から得られる画素値に設定される。
ただし、合成画像の画素値は、短時間露光画像の画素値そのものではなく、短時間露光画像の露光比補正後の画素値である。すなわち、短時間露光画像の露光時間を長時間露光画像の露光時間と同様の時間とした場合の露光補正後の画素値である。図10の合成画像中の(Sf1)は、この露光補正後の画素値を示している。
合成係数α=1の場合、更新合成画像の画素値を入力画像の画素値に設定する処理を行なうことに相当する。
従って、図10のフレーム1のエントリに示す合成画像の画素値は、すべて入力画像から得られる画素値に設定される。
ただし、合成画像の画素値は、短時間露光画像の画素値そのものではなく、短時間露光画像の露光比補正後の画素値である。すなわち、短時間露光画像の露光時間を長時間露光画像の露光時間と同様の時間とした場合の露光補正後の画素値である。図10の合成画像中の(Sf1)は、この露光補正後の画素値を示している。
なお、図においては、短時間露光画像をS、長時間露光画像をLと表記し、フレーム先頭からf1,f2,f3・・として示している。図10に示すフレーム1のエントリ中に示す合成画像の空領域の矩形領域と、山領域の矩形領域におけるSf1は、最初のフレーム1として入力される短時間露光画像の露光補正後の画素値であることを示している。
なお、ここに示す例では、空領域は、長時間露光画像では飽和レベルであり、山領域は飽和レベル未満の画素値である。
合成画像における空領域の画素値Sf1は、長時間露光画像の飽和レベル以上の画素値になる。
なお、ここに示す例では、空領域は、長時間露光画像では飽和レベルであり、山領域は飽和レベル未満の画素値である。
合成画像における空領域の画素値Sf1は、長時間露光画像の飽和レベル以上の画素値になる。
図10~図12に示す例では、
(a)合成画像における飽和レベル領域に相当する空領域、
(b)合成画像における飽和レベル未満領域に相当する山領域、
これらの2つの画素領域が各入力画像に応じてどのように更新されるかを示している。
なお、前述したように、この実施例において、合成画像の飽和レベルは長時間露光画像の飽和レベルと同じ設定とする。例えば画素値が0~255の範囲で設定される場合、画素値255の設定画素は飽和レベル(飽和画素)であると判定する。
(a)合成画像における飽和レベル領域に相当する空領域、
(b)合成画像における飽和レベル未満領域に相当する山領域、
これらの2つの画素領域が各入力画像に応じてどのように更新されるかを示している。
なお、前述したように、この実施例において、合成画像の飽和レベルは長時間露光画像の飽和レベルと同じ設定とする。例えば画素値が0~255の範囲で設定される場合、画素値255の設定画素は飽和レベル(飽和画素)であると判定する。
図10に示すフレーム1の入力時、すなわち短時間露光画像Sの入力時は、
合成係数α=1に設定され、
合成画像は、すべて入力画像の画素値(Sf1)となる。すなわち、
明るい空領域=Sf1、
暗い山領域=Sf1、
これらの画素値設定のなされた合成画像を生成する。
合成係数α=1に設定され、
合成画像は、すべて入力画像の画素値(Sf1)となる。すなわち、
明るい空領域=Sf1、
暗い山領域=Sf1、
これらの画素値設定のなされた合成画像を生成する。
図10に示すフレーム2の入力時、すなわち長時間露光画像Lの入力時は、
直前に生成した合成画像、すなわちフレーム1対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、合成係数α=1とし、長時間露光画像の画素値(Lf2)に置き換えて出力する。飽和レベルより大きい画素領域(空領域)は、合成係数α=0として、前フレームの合成画像の画素値(Sf1)をそのまま更新合成画像の画素値として設定(素通し)する。
すなわち、
明るい空領域=Sf1、
暗い山領域=Lf2、
これらの画素値設定のなされた合成画像を生成する。
直前に生成した合成画像、すなわちフレーム1対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、合成係数α=1とし、長時間露光画像の画素値(Lf2)に置き換えて出力する。飽和レベルより大きい画素領域(空領域)は、合成係数α=0として、前フレームの合成画像の画素値(Sf1)をそのまま更新合成画像の画素値として設定(素通し)する。
すなわち、
明るい空領域=Sf1、
暗い山領域=Lf2、
これらの画素値設定のなされた合成画像を生成する。
図10に示すフレーム3の入力時、すなわち短時間露光画像Sの入力時は、
直前に生成した合成画像、すなわちフレーム2対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Lf2)をそのまま更新合成画像の画素値として設定(素通し)する。
一方、飽和レベルより大きい画素領域(空領域)は、短時間露光画像として2回目の更新となるので、合成係数α=1/2とし、αブレンディングした(Sf1+Sf3)/2で更新する。
なお、Sf1,Sf3とも短時間露光画像のも画素値に対する露光補正(ゲインアップ)処理後の画素値である。
また、上記の合成係数α=1/2とする処理は、図9に示すフローのステップS165の処理に相当する。
直前に生成した合成画像、すなわちフレーム2対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Lf2)をそのまま更新合成画像の画素値として設定(素通し)する。
一方、飽和レベルより大きい画素領域(空領域)は、短時間露光画像として2回目の更新となるので、合成係数α=1/2とし、αブレンディングした(Sf1+Sf3)/2で更新する。
なお、Sf1,Sf3とも短時間露光画像のも画素値に対する露光補正(ゲインアップ)処理後の画素値である。
また、上記の合成係数α=1/2とする処理は、図9に示すフローのステップS165の処理に相当する。
この処理によって、図10のフレーム3の合成画像の欄に示すように、
明るい空領域=(Sf1+Sf3)/2、
暗い山領域=Lf2、
これらの画素値設定のなされた合成画像が生成される。
明るい空領域=(Sf1+Sf3)/2、
暗い山領域=Lf2、
これらの画素値設定のなされた合成画像が生成される。
次に、図11に示すフレーム4の入力時、すなわち長時間露光画像Lの入力時は、
直前に生成した合成画像、すなわちフレーム3対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、長時間露光画像として2回目の更新となるので、合成係数α=1/2とし、αブレンディングした(Lf2+Lf4)/2で更新する。
一方、飽和レベルより大きい画素領域(空領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Sf1+Sf3)/2をそのまま更新合成画像の画素値として設定(素通し)する。
なお、上記の合成係数α=1/2とする処理は、図9に示すフローのステップS155の処理に相当する。
直前に生成した合成画像、すなわちフレーム3対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、長時間露光画像として2回目の更新となるので、合成係数α=1/2とし、αブレンディングした(Lf2+Lf4)/2で更新する。
一方、飽和レベルより大きい画素領域(空領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Sf1+Sf3)/2をそのまま更新合成画像の画素値として設定(素通し)する。
なお、上記の合成係数α=1/2とする処理は、図9に示すフローのステップS155の処理に相当する。
この処理によって、図11のフレーム4の合成画像の欄に示すように、
明るい空領域=(Sf1+Sf3)/2、
暗い山領域=(Lf2+Lf4)/2、
これらの画素値設定のなされた合成画像が生成される。
明るい空領域=(Sf1+Sf3)/2、
暗い山領域=(Lf2+Lf4)/2、
これらの画素値設定のなされた合成画像が生成される。
次に、図11に示すフレーム5の入力時、すなわち短時間露光画像Sの入力時は、
直前に生成した合成画像、すなわちフレーム4対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Lf2+Lf4)/2をそのまま更新合成画像の画素値として設定(素通し)する。
一方、飽和レベルより大きい画素領域(空領域)は、短時間露光画像として3回目の更新となるので、合成係数α=1/3とし、αブレンディングした(Sf1+Sf3+Sf5)/3で更新する。
なお、Sf1,Sf3,Sf5とも短時間露光画像のも画素値に対する露光補正(ゲインアップ)処理後の画素値である。
また、上記の合成係数α=1/3とする処理は、図9に示すフローのステップS165の処理に相当する。
直前に生成した合成画像、すなわちフレーム4対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Lf2+Lf4)/2をそのまま更新合成画像の画素値として設定(素通し)する。
一方、飽和レベルより大きい画素領域(空領域)は、短時間露光画像として3回目の更新となるので、合成係数α=1/3とし、αブレンディングした(Sf1+Sf3+Sf5)/3で更新する。
なお、Sf1,Sf3,Sf5とも短時間露光画像のも画素値に対する露光補正(ゲインアップ)処理後の画素値である。
また、上記の合成係数α=1/3とする処理は、図9に示すフローのステップS165の処理に相当する。
この処理によって、図11のフレーム5の合成画像の欄に示すように、
明るい空領域=(Sf1+Sf3+Sf5)/3、
暗い山領域=(Lf2+Lf4)/2、
これらの画素値設定のなされた合成画像が生成される。
明るい空領域=(Sf1+Sf3+Sf5)/3、
暗い山領域=(Lf2+Lf4)/2、
これらの画素値設定のなされた合成画像が生成される。
次に、図11に示すフレーム6の入力時、すなわち長時間露光画像Lの入力時は、
直前に生成した合成画像、すなわちフレーム5対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、長時間露光画像として3回目の更新となるので、合成係数α=1/3とし、αブレンディングした(Lf2+Lf4+Lf6)/3で更新する。
一方、飽和レベルより大きい画素領域(空領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Sf1+Sf3+Sf5)/3をそのまま更新合成画像の画素値として設定(素通し)する。
なお、上記の合成係数α=1/3とする処理は、図9に示すフローのステップS155の処理に相当する。
直前に生成した合成画像、すなわちフレーム5対応の合成画像において、飽和レベルより小さい画素値を持つ画素領域(山領域)は、長時間露光画像として3回目の更新となるので、合成係数α=1/3とし、αブレンディングした(Lf2+Lf4+Lf6)/3で更新する。
一方、飽和レベルより大きい画素領域(空領域)は、合成係数α=0とし、前フレームの合成画像の画素値(Sf1+Sf3+Sf5)/3をそのまま更新合成画像の画素値として設定(素通し)する。
なお、上記の合成係数α=1/3とする処理は、図9に示すフローのステップS155の処理に相当する。
この処理によって、図11のフレーム6の合成画像の欄に示すように、
明るい空領域=(Sf1+Sf3+Sf5)/3、
暗い山領域=(Lf2+Lf4+Lf6)/3、
これらの画素値設定のなされた合成画像が生成される。
明るい空領域=(Sf1+Sf3+Sf5)/3、
暗い山領域=(Lf2+Lf4+Lf6)/3、
これらの画素値設定のなされた合成画像が生成される。
これらの処理を繰り返すと、図12に示すように、フレーム(2n-1)の入力時、すなわち短時間露光画像Sの入力時には、新たな入力短時間露光画像の露光比補正画素の画素値(Sf2n-1)を適用して、明るい空領域のみが更新される。
その結果、
明るい空領域=(Sf1+…+Sf2n-1)/n、
暗い山領域=(Lf2+…+Lf2n-2)/(n-1)
これらの画素値設定のなされた合成画像が生成される。
その結果、
明るい空領域=(Sf1+…+Sf2n-1)/n、
暗い山領域=(Lf2+…+Lf2n-2)/(n-1)
これらの画素値設定のなされた合成画像が生成される。
さらに、図12に示すように、フレーム(2n)の入力時、すなわち長時間露光画像Lの入力時には、新たな入力長時間露光画像の画素値(Lf2n)を適用して、暗い山領域のみが更新される。
その結果、
明るい空領域=(Sf1+…+Sf2n-1)/n、
暗い山領域=(Lf2+…+Lf2n)/n、
これらの画素値設定のなされた合成画像が生成される。
合成処理部300では、このように連続撮影される異なる露光時間の画像に基づいて、画素値に応じた合成処理を実行して最終的な合成画像を生成して出力する。
その結果、
明るい空領域=(Sf1+…+Sf2n-1)/n、
暗い山領域=(Lf2+…+Lf2n)/n、
これらの画素値設定のなされた合成画像が生成される。
合成処理部300では、このように連続撮影される異なる露光時間の画像に基づいて、画素値に応じた合成処理を実行して最終的な合成画像を生成して出力する。
なお、図10~図12に示す例は、フレーム数=2nを1つの出力画像を生成するために適用する入力画像のセットとして設定した例である。
例えば、n=2とした場合は、1つの短時間露光画像と1つの長時間露光画像のみから1つの出力画像を生成することになる。この場合は、図10のフレーム2において生成した合成画像が出力される。
例えば、n=2とした場合は、1つの短時間露光画像と1つの長時間露光画像のみから1つの出力画像を生成することになる。この場合は、図10のフレーム2において生成した合成画像が出力される。
また、図10~図12に示す例は、短時間露光画像と長時間露光画像の2種類の露光時間のみの設定としているが、3以上の露光時間とした場合も同様に処理が可能である。
例えば、
フレーム1=短時間露光画像、
フレーム2=中時間露光画像、
フレーム3=長時間露光画像、
以下、これらの繰り返しとして設定し、入力画像3フレームから1つの出力フレームを出力するといった設定、すなわちn=3の設定とすることが可能である。
なお、このような場合、最終的な出力画像となる合成画像は、低輝度領域は、長時間露光画素の画素値、高輝度領域は、低時間露光画素の画素値、その間の中輝度領域は中時間露光画像の画素値を優先的に選択して画素値設定が行われる。
例えば、
フレーム1=短時間露光画像、
フレーム2=中時間露光画像、
フレーム3=長時間露光画像、
以下、これらの繰り返しとして設定し、入力画像3フレームから1つの出力フレームを出力するといった設定、すなわちn=3の設定とすることが可能である。
なお、このような場合、最終的な出力画像となる合成画像は、低輝度領域は、長時間露光画素の画素値、高輝度領域は、低時間露光画素の画素値、その間の中輝度領域は中時間露光画像の画素値を優先的に選択して画素値設定が行われる。
[3.位置合わせ処理部の構成と位置合わせ処理について]
次に、図4に示す画像処理装置100の位置合わせ処理部200の詳細構成と処理について説明する。
次に、図4に示す画像処理装置100の位置合わせ処理部200の詳細構成と処理について説明する。
本開示の画像処理装置では、処理対象とする入力画像が動画である場合と、入力画像が静止画である場合で、位置合わせ処理部200の実行する処理が異なる。
図13に示す画像処理装置100の位置合わせ処理部200の構成が、入力画像が動画である場合の位置合わせ処理を実行する処理構成である。
図14に示す画像処理装置100の位置合わせ処理部200の構成が、入力画像が静止画である場合の位置合わせ処理を実行する処理構成である。
図13に示す画像処理装置100の位置合わせ処理部200の構成が、入力画像が動画である場合の位置合わせ処理を実行する処理構成である。
図14に示す画像処理装置100の位置合わせ処理部200の構成が、入力画像が静止画である場合の位置合わせ処理を実行する処理構成である。
なお、画像処理装置が動画のみの処理を実行する構成であれば、図13に示す構成を持つ位置合わせ処理部200のみを有する構成としてよい。
また、画像処理装置が静止画のみの処理を実行する構成であれば、図14に示す構成を持つ位置合わせ処理部200のみを有する構成としてよい。
また、画像処理装置が静止画と動画の両者の処理を実行する構成であれば、図13に示す構成と、図14に示す構成を切り換えて利用可能な位置合わせ処理部200を有する構成とする。
また、画像処理装置が静止画のみの処理を実行する構成であれば、図14に示す構成を持つ位置合わせ処理部200のみを有する構成としてよい。
また、画像処理装置が静止画と動画の両者の処理を実行する構成であれば、図13に示す構成と、図14に示す構成を切り換えて利用可能な位置合わせ処理部200を有する構成とする。
まず、図13を参照して処理対象画像が動画である場合の位置合わせ処理部200の構成と処理について説明する。
動画処理では、入力画像110は、順次入力される複数の異なる露光時間の動画像である。例えば、以下のようなシーケンスで画像が入力される。
フレーム1:短時間露光画像
フレーム2:長時間露光画像
フレーム3:短時間露光画像
フレーム4:長時間露光画像
: :
フレーム(2n-1):短時間露光画像
フレーム2n:長時間露光画像
動画処理では、入力画像110は、順次入力される複数の異なる露光時間の動画像である。例えば、以下のようなシーケンスで画像が入力される。
フレーム1:短時間露光画像
フレーム2:長時間露光画像
フレーム3:短時間露光画像
フレーム4:長時間露光画像
: :
フレーム(2n-1):短時間露光画像
フレーム2n:長時間露光画像
このようなシーケンスで画像が入力され、各フレーム対応の出力画像を合成画像として生成して出力する。最終的な出力画像は、ダイナミックレンジ拡張処理とノイズ除去処理の施された動画像となる。
図13に示す画像処理装置100に構成された位置合わせ処理部200の動き推定部201は、動画像を構成するフレーム画像である最新の入力画像110と、合成処理部300が前フレームまでの処理によって生成し、フレームメモリ400に格納した合成画像120を入力する。
動き推定部201は、これら入力画像110と合成画像120の2つの画像間の動きベクトル205を推定する。合成処理部300で合成画像120を更新するため、それまでに生成した合成画像120を、最新の入力画像110の画像位置に位置合わせを行なう必要がある。
動き推定部201は、この位置合わせ処理に適用するため、入力画像110と合成画像120の2つの画像間の動きベクトル205を算出して動き補償画像生成部202に出力する。
なお、動き推定方法としては、様々な手法が適用可能である。例えば、ブロックマッチング法、勾配法、位相相関法などが使用可能である。
なお、動き推定方法としては、様々な手法が適用可能である。例えば、ブロックマッチング法、勾配法、位相相関法などが使用可能である。
動き補償画像生成部202は、動き推定部201から供給された動きベクトル205を適用して、フレームメモリ400から取得した合成画像120の画像位置を最新の入力画像110の画像位置に一致させる処理(動き補償処理)を実行する。この動き補償処理によって生成した動き補償合成画像130を合成処理部300に出力する。
合成処理部300は、入力画像110と、動き補償合成画像130を適用して合成画像の更新を実行し、新たな合成画像を生成して出力画像180として出力するとともに、フレームメモリ400に格納する。
なお、合成処理部300の実行する画像合成処理は、例えば先に図7~図12を参照して説明した処理と同様の処理である。
フレームメモリ400に格納された新たな合成画像は、次の入力画像に対応する合成画像の生成に利用される。
この処理を、順次、入力する動画フレームに対して実行し、入力画像110対応の出力画像180を生成して出力する。
なお、合成処理部300の実行する画像合成処理は、例えば先に図7~図12を参照して説明した処理と同様の処理である。
フレームメモリ400に格納された新たな合成画像は、次の入力画像に対応する合成画像の生成に利用される。
この処理を、順次、入力する動画フレームに対して実行し、入力画像110対応の出力画像180を生成して出力する。
次に、図14を参照して処理対象画像が静止画である場合の位置合わせ処理部200の構成と処理について説明する。
静止画処理では、入力画像110は、複数の異なる露光時間の静止画像となる。
ただし、撮影画像は異なる露光時間に設定され連続撮影された画像である。この連続撮影画像を利用して1枚の静止画としての出力画像を生成する。
静止画撮影においても、例えば、以下のようなシーケンスで画像が入力される。
フレーム1:短時間露光画像
フレーム2:長時間露光画像
フレーム3:短時間露光画像
フレーム4:長時間露光画像
: :
フレーム(2n-1):短時間露光画像
フレーム2n:長時間露光画像
例えば、これらの2n枚の画像を利用して1枚の静止画を生成して出力する。最終的な出力画像は、ダイナミックレンジ拡張処理とノイズ除去処理の施された静止画像となる。
静止画処理では、入力画像110は、複数の異なる露光時間の静止画像となる。
ただし、撮影画像は異なる露光時間に設定され連続撮影された画像である。この連続撮影画像を利用して1枚の静止画としての出力画像を生成する。
静止画撮影においても、例えば、以下のようなシーケンスで画像が入力される。
フレーム1:短時間露光画像
フレーム2:長時間露光画像
フレーム3:短時間露光画像
フレーム4:長時間露光画像
: :
フレーム(2n-1):短時間露光画像
フレーム2n:長時間露光画像
例えば、これらの2n枚の画像を利用して1枚の静止画を生成して出力する。最終的な出力画像は、ダイナミックレンジ拡張処理とノイズ除去処理の施された静止画像となる。
なお、連続撮影された複数の画像は、撮影実行中の手振れ等によって各画像の画像位置はずれてしまう。位置合わせ処理部200は、例えばこのような手振れ等に起因する画像ずれを修正する位置合わせを行なう。
図14に示す画像処理装置100に構成された位置合わせ処理部200の動き推定部211は、最終的な出力画像としての静止画を生成するために連続撮影された複数の画像を構成する1つの最新の入力画像110と、合成処理部300が前フレームまでの処理によって生成し、フレームメモリ400に格納した合成画像120を入力する。
静止画処理においても、動き推定部211は、先に図13を参照して説明した動画処理における動き推定部201と同様、入力画像110と合成画像120の2つの画像間の動きベクトル205を推定する。ただし、静止画処理では、連続撮影された画像中のいずれかの画像を基準画像として、連続撮影画像のすべてをこの1つの基準画像の画像位置に合わせる処理を行なう。具体的には、例えば、連続影続画像中の最初の画像、すなわち一枚目の入力画像に位置合わせを行なう。
合成画像120は、一枚目の入力画像に位置合わせを行なって生成された合成画像であり、新たな入力画像110についても、生成済みの合成画像120の画像位置に合わせることが必要となる。
合成画像120は、一枚目の入力画像に位置合わせを行なって生成された合成画像であり、新たな入力画像110についても、生成済みの合成画像120の画像位置に合わせることが必要となる。
動き推定部211は、このように入力画像110を合成画像120の画像位置に位置合わせするため、入力画像110と合成画像120の2つの画像間の動きベクトル215を算出して動き補償画像生成部212に出力する。
動き補償画像生成部212は、動き推定部211から供給された動きベクトル205を適用して、入力画像110の画像位置を、フレームメモリ400から取得した合成画像120の画像位置に一致させる処理(動き補償処理)を実行する。この動き補償処理によって生成した動き補償入力画像140を合成処理部300に出力する。
合成処理部300は、動き補償入力画像140と、合成画像120を適用して合成画像の更新を実行し、新たな合成画像を生成してフレームメモリ400に格納する。フレームメモリ400に格納された新たな合成画像は、次の入力画像に対応する合成画像の生成に利用される。
静止画撮影のために実行した連続撮影処理において撮影された前画像フレームの処理が終了し、最終的な合成画像が生成された場合、その合成画像を出力画像180として出力する。
なお、合成処理部300の実行する画像合成処理は、例えば先に図7~図12を参照して説明した処理と同様の処理である。
静止画撮影のために実行した連続撮影処理において撮影された前画像フレームの処理が終了し、最終的な合成画像が生成された場合、その合成画像を出力画像180として出力する。
なお、合成処理部300の実行する画像合成処理は、例えば先に図7~図12を参照して説明した処理と同様の処理である。
[4.位置合わせ処理部において実行する位置合わせ処理の詳細について]
次に、位置合わせ処理部200において実行する位置合わせ処理の詳細について説明する。
図13、図14を参照して説明したように、動画処理と静止画処理では、以下のような動き補償画像の生成を実行する。
図13を参照して説明した動画処理においては、入力画像を基準画像として、前フレームまでの処理で生成した合成画像の画像位置を入力画像の画像位置に一致させるように合成画像の動き補償を実行して動き補償合成画像を生成する。
図14を参照して説明した静止画処理においては、合成画像を基準画像として、入力画像の画像位置を合成画像の画像位置に一致させるように入力画像の動き補償を実行して動き補償入力画像を生成する。
次に、位置合わせ処理部200において実行する位置合わせ処理の詳細について説明する。
図13、図14を参照して説明したように、動画処理と静止画処理では、以下のような動き補償画像の生成を実行する。
図13を参照して説明した動画処理においては、入力画像を基準画像として、前フレームまでの処理で生成した合成画像の画像位置を入力画像の画像位置に一致させるように合成画像の動き補償を実行して動き補償合成画像を生成する。
図14を参照して説明した静止画処理においては、合成画像を基準画像として、入力画像の画像位置を合成画像の画像位置に一致させるように入力画像の動き補償を実行して動き補償入力画像を生成する。
このように、動画と静止画では、位置合わせの基準となる画像が異なる。
しかし、
(a)入力画像と合成画像の2つの画像間の移動量を示す動きベクトルを算出する処理、
(b)算出した動きベクトルに基づいて、一方の画像を移動して他方のがぞに位置合わせする処理、
これら(a),(b)の処理は、動画、静止画において共通に実行する処理である。
しかし、
(a)入力画像と合成画像の2つの画像間の移動量を示す動きベクトルを算出する処理、
(b)算出した動きベクトルに基づいて、一方の画像を移動して他方のがぞに位置合わせする処理、
これら(a),(b)の処理は、動画、静止画において共通に実行する処理である。
このように、動画処理と静止画処理では、基準となる画像と、動き補償対象となる画像が、入れ替わる点のみが異なり、その他の処理は共通の処理となる。
以下では、この共通の処理の詳細、すなわち位置合わせ処理部の実行する処理の詳細について説明する。以下では、処理対象を動画とした場合の処理例について説明するが、以下で説明する処理は、静止画の場合にも適用可能である。
以下では、この共通の処理の詳細、すなわち位置合わせ処理部の実行する処理の詳細について説明する。以下では、処理対象を動画とした場合の処理例について説明するが、以下で説明する処理は、静止画の場合にも適用可能である。
位置合わせ処理部200の実行する位置合わせ処理の態様としては、例えば以下の処理態様がある。
(1)画像の区分領域を単位とした動きであるローカル動きを推定し、推定したローカル動きに基づいたローカル動き補償画像を生成する処理
(2)画像全体を単位とした動きであるグローバル動きを推定し、推定したグローバル動きに基づいたグローバル動き補償画像を生成する処理
(3)ローカル動きに基づくローカル動き補償画像と、グローバル動きに基づくグローバル動き補償画像の双方を生成するハイブリッド処理、
以下、これらの各処理について、順次、説明する。
(1)画像の区分領域を単位とした動きであるローカル動きを推定し、推定したローカル動きに基づいたローカル動き補償画像を生成する処理
(2)画像全体を単位とした動きであるグローバル動きを推定し、推定したグローバル動きに基づいたグローバル動き補償画像を生成する処理
(3)ローカル動きに基づくローカル動き補償画像と、グローバル動きに基づくグローバル動き補償画像の双方を生成するハイブリッド処理、
以下、これらの各処理について、順次、説明する。
[4-1.ローカル位置合わせに基づくローカル動き補償画像の生成処理について]
まず、図15を参照して、位置合わせ処理部200の実行する位置合わせ処理の一例として、画像の区分領域を単位とした動きであるローカル動きを推定し、推定したローカル動きに基づいたローカル動き補償画像を生成する処理について説明する。
まず、図15を参照して、位置合わせ処理部200の実行する位置合わせ処理の一例として、画像の区分領域を単位とした動きであるローカル動きを推定し、推定したローカル動きに基づいたローカル動き補償画像を生成する処理について説明する。
ローカル位置合わせは、画像内の局所領域ごとに動き推定を行い、その動きベクトルを使って処理を行う例である。
図15に示す画像処理装置100の位置合わせ処理部200は、ローカル動き推定部221、ローカル動き補償画像生成部222、露光比補正部223を有する。
入力画像110は、順次入力される複数の異なる露光時間の動画像である。
図15に示す画像処理装置100の位置合わせ処理部200は、ローカル動き推定部221、ローカル動き補償画像生成部222、露光比補正部223を有する。
入力画像110は、順次入力される複数の異なる露光時間の動画像である。
ローカル動き推定部221は、入力画像110を入力し、さらに、露光比補正部223を介して、露光比補正のなされた合成画像、すなわち、図に示す露光比補正合成画像121を入力する。
露光比補正部223は、合成処理部300が前フレームまでの処理によって生成し、フレームメモリ400に格納した合成画像120を取得して、取得した合成画像の露光比補正を実行する。すなわち、合成画像120の画素値を、入力画像110の露光時間と一致させたと仮定した場合の画素値に補正する処理を実行し、この画素値補正を行った画像を露光比補正合成画像121としてローカル動き推定部221に出力する。
露光比補正部223の実行する合成画像120に対する露光比補正処理の詳細シーケンスについて、図16に示すフローチャートを参照して説明する。
まず、ステップS301において、フレームメモリ400から合成画像120を取得する。
次に、ステップS302において、入力画像110の露光時間情報を取得する。なお、入力画像110は、例えば短時間露光画像と長時間露光画像とが交互に入力される設定であり、最新の入力画像の露光時間情報を取得する。
まず、ステップS301において、フレームメモリ400から合成画像120を取得する。
次に、ステップS302において、入力画像110の露光時間情報を取得する。なお、入力画像110は、例えば短時間露光画像と長時間露光画像とが交互に入力される設定であり、最新の入力画像の露光時間情報を取得する。
ステップS303において、入力画像が短時間露光画像か長時間露光画像かを判定する。入力画像が長時間露光画像である場合は、ステップS304に進む。入力画像が短時間露光画像である場合は、ステップS305に進む。
入力画像が長時間露光画像であり、ステップS304に進むと、ステップS304において、合成画像を飽和画素値レベルでクリップする。例えば、出力画像の画素値を0~255の範囲としている設定では、飽和画素レベルは255となる。この場合、合成画像に含まれる画素値が255以上の画素領域については、すべて飽和画素レベル(255)に設定するクリップ処理を行なう。
その後、ステップS307において、このクリップ後の合成画像を露光比補正画像として出力する。
その後、ステップS307において、このクリップ後の合成画像を露光比補正画像として出力する。
一方、ステップS303の判定処理において、入力画像が短時間露光画像であり、ステップS305に進むと、ステップS305において、合成画像を入力画像である短時間露光画像に対応する画素値レベルにゲインダウンする。この処理例では、合成画像は、長時間露光画像と同様の露光時間設定画像として出力する。例えば短時間露光画像と長時間露光画像の露光時間比が1:2である場合、合成画像のゲインダウンによって、合成画像の画素値は1/2に設定することになる。
その後、ステップ306において、ゲインダウン後の合成画像を飽和画素値レベルでクリップする。
さらに、ステップS307において、このクリップ後の合成画像を露光比補正画像として出力する。
その後、ステップ306において、ゲインダウン後の合成画像を飽和画素値レベルでクリップする。
さらに、ステップS307において、このクリップ後の合成画像を露光比補正画像として出力する。
なお、合成画像は、先に、図5(2)を参照して説明したように、飽和レベルまでは長時間露光画像、それより大きいところは短時間露光画像をゲインアップした画像によって構成されている。
図16に示すフローの手順で合成画像に対して露光比補正を行うことで、入力画像が短時間露光画像である場合は、ステップS305~S307のシーケンスに従った処理が実行され、合成画像の画素値が短時間露光画像と同様の露光時間の設定とした画素値に設定される。
また、入力画像が長時間露光画像である場合は、ステップS304、S307の処理が実行され、合成画像の画素値が長時間露光画像と同様の露光時間の設定とした画素値に設定される。
図16に示すフローの手順で合成画像に対して露光比補正を行うことで、入力画像が短時間露光画像である場合は、ステップS305~S307のシーケンスに従った処理が実行され、合成画像の画素値が短時間露光画像と同様の露光時間の設定とした画素値に設定される。
また、入力画像が長時間露光画像である場合は、ステップS304、S307の処理が実行され、合成画像の画素値が長時間露光画像と同様の露光時間の設定とした画素値に設定される。
図15に示す位置合わせ処理部200の露光比補正部223は、この図16に示すフローに従った処理により、露光比補正合成画像121を生成してローカル動き推定部221に出力する。
ローカル動き推定部221は、入力画像110と、露光比補正合成画像121を入力し、これらの2つの画像について、画像内の区分領域、例えば画素単位、あるいは複数画素領域単位等、ローカル領域(局所領域)ごとに動き推定を行い、ローカル領域単位のローカル動きベクトル225を算出して、ローカル動き補償画像生成部222に出力する。
ローカル動き補償画像生成部222は、ローカル動き推定部221から入力する局所領域単位のローカル動きベクトル225を利用して、局所領域単位で入力画像110と、合成画像120との位置合わせを行なう。すなわち、ローカル動きベクトル225を利用して、入力画像110と、合成画像120との位置合わせを局所領域単位で実行し、合成画像120の画像位置を入力画像110の画像位置に合わせた動き補償合成画像を生成して合成処理部300に出力する。
この構成においては、局所領域ごとに動き推定、動き補償を行うことで、画像内の動被写体のような局所動きに対して位置合わせを行うことができる。
この構成においては、局所領域ごとに動き推定、動き補償を行うことで、画像内の動被写体のような局所動きに対して位置合わせを行うことができる。
合成処理部300は、ローカル動き補償画像生成部222から入力する動き補償合成画像と、入力画像110を利用して、新たな合成画像を生成して出力画像180として出力するとともに、フレームメモリ400に格納する。
なお、本処理例は、入力画像を動画とした場合の処理例であり、位置合わせ処理部200は、合成画像120に対する動き補償を実行して、合成画像120の画像位置を入力画像110の画像位置に合わせる処理を実行する。
静止画処理の場合は、入力画像110に対する動き補償を実行して、入力画像110の画像位置を、合成画像120の画像位置に合わせる処理を実行する。
静止画処理の場合は、入力画像110に対する動き補償を実行して、入力画像110の画像位置を、合成画像120の画像位置に合わせる処理を実行する。
[4-2.グローバル位置合わせに基づくグローバル動き補償画像の生成処理について]
次に、図17を参照して、位置合わせ処理部200の実行する位置合わせ処理の一例として、画像全体単位とした動きであるグローバル動きを推定し、推定したグローバル動きに基づいたグローバル動き補償画像を生成する処理について説明する。
次に、図17を参照して、位置合わせ処理部200の実行する位置合わせ処理の一例として、画像全体単位とした動きであるグローバル動きを推定し、推定したグローバル動きに基づいたグローバル動き補償画像を生成する処理について説明する。
グローバル位置合わせは、画像内の局所領域ごとに動き推定を行い、局所領域のベクトルから画面全体のグローバルな動きを推定して、その動きベクトルを使って処理を行う位置合わせ処理である。
図17に示す画像処理装置100の位置合わせ処理部200は、ローカル動き推定部231、グローバル動き推定部232、グローバル動き補償画像生成部233、露光比補正部234を有する。
入力画像110は、順次入力される複数の異なる露光時間の動画像である。
入力画像110は、順次入力される複数の異なる露光時間の動画像である。
図17に示す位置合わせ処理部200の構成において、露光比補正部234、ローカル動き推定部231の処理は、先に図15を参照して説明した図15に示す露光比補正部223、ローカル動き推定部221の実行する処理と同様の処理である。
すなわち、露光比補正部234は、合成処理部300が前フレームまでの処理によって生成し、フレームメモリ400に格納された合成画像120を取得して、取得した合成画像の露光比補正を実行する。すなわち、合成画像120の画素値を、入力画像110の露光時間と一致させたと仮定した場合の画素値に補正する処理を実行し、この画素値補正を行った画像を露光比補正合成画像235としてローカル動き推定部231に出力する。
ローカル動き推定部231は、入力画像110と、露光比補正合成画像235を入力し、これらの2つの画像について、画像内の区分領域、例えば画素単位、あるいは複数画素領域単位等、ローカル領域(局所領域)ごとに動き推定を行い、ローカル領域単位のローカル動きベクトル236を算出して、グローバル動き推定部232に出力する。
グローバル動き推定部232は、ローカル動き推定部221から入力する局所領域単位のローカル動きベクトル236を利用して、入力画像110と、露光比補正合成画像235の2つの画像間の画像全体の動き(グローバル動き)を推定し、この画像全体の動きを示すグローバル動きベクトル237を生成してグローバル動き補償画像生成部233に出力する。
グローバル動き補償画像生成部233は、グローバル動き推定部232から入力するグローバル動きベクトル237を利用して、入力画像110と、合成画像120との位置合わせを実行し、合成画像120の画像位置を入力画像110の画像位置に合わせた動き補償合成画像を生成して合成処理部300に出力する。
合成処理部300は、グローバル動き補償画像生成部233から入力する動き補償合成画像と、入力画像110を利用して、新たな合成画像を生成して出力画像180として出力するとともに、フレームメモリ400に格納する。
なお、本処理例は、入力画像を動画とした場合の処理例であり、位置合わせ処理部200は、合成画像120に対する動き補償を実行して、合成画像120の画像位置を入力画像110の画像位置に合わせる処理を実行する。
静止画処理の場合は、入力画像110に対する動き補償を実行して、入力画像110の画像位置を、合成画像120の画像位置に合わせる処理を実行する。
静止画処理の場合は、入力画像110に対する動き補償を実行して、入力画像110の画像位置を、合成画像120の画像位置に合わせる処理を実行する。
[4-3.ローカル動きに基づくローカル動き補償画像と、グローバル動きに基づくグローバル動き補償画像の双方を生成するハイブリッド処理について]
次に、図18を参照して、ローカル動きに基づくローカル動き補償画像と、グローバル動きに基づくグローバル動き補償画像の双方を生成するハイブリッド処理について説明する。
次に、図18を参照して、ローカル動きに基づくローカル動き補償画像と、グローバル動きに基づくグローバル動き補償画像の双方を生成するハイブリッド処理について説明する。
ハイブリッド位置合わせにおいては、画像内の局所領域ごとに動き推定を行い、局所領域のベクトルから画面全体のグローバルな動きを推定する。
この処理によって、
(1)局所領域の動きベクトルであるローカル動きベクトル、
(2)画像全体の動きベクトルであるグローバル動きベクトル、
これら2つの動きベクトルを算出し、これら2つの動きベクトル適用して位置合わせを行なう。
この処理によって、
(1)局所領域の動きベクトルであるローカル動きベクトル、
(2)画像全体の動きベクトルであるグローバル動きベクトル、
これら2つの動きベクトルを算出し、これら2つの動きベクトル適用して位置合わせを行なう。
図18に示す画像処理装置100の位置合わせ処理部200は、ローカル動き推定部241、グローバル動き推定部242、グローバル動き補償画像生成部243、露光比補正部244、ローカル動き補償画像生成部245を有する。
入力画像110は、順次入力される複数の異なる露光時間の動画像である。
入力画像110は、順次入力される複数の異なる露光時間の動画像である。
図18に示す位置合わせ処理部200の構成において、露光比補正部244、ローカル動き推定部241、グローバル動き推定部242、グローバル動き補償画像生成部243の処理は、先に図17を参照して説明した図17に示す露光比補正部234、ローカル動き推定部231、グローバル動き推定部232、グローバル動き補償画像生成部233の実行する処理と同様の処理である。
すなわち、露光比補正部244は、合成処理部300が前フレームまでの処理によって生成し、フレームメモリ400に格納された合成画像120を取得して、取得した合成画像の露光比補正を実行する。すなわち、合成画像120の画素値を、入力画像110の露光時間と一致させたと仮定した場合の画素値に補正する処理を実行し、この画素値補正を行った画像を露光比補正合成画像247としてローカル動き推定部241に出力する。
ローカル動き推定部241は、入力画像110と、露光比補正合成画像247を入力し、これらの2つの画像について、画像内の区分領域、例えば画素単位、あるいは複数画素領域単位等、ローカル領域(局所領域)ごとに動き推定を行い、ローカル領域単位のローカル動きベクトル248を算出して、グローバル動き推定部242に出力する。
グローバル動き推定部242は、ローカル動き推定部241から入力する局所領域単位のローカル動きベクトル248を利用して、入力画像110と、露光比補正合成画像247の2つの画像間の画像全体の動き(グローバル動き)を推定し、この画像全体の動きを示すグローバル動きベクトル249をグローバル動き補償画像生成部243に出力する。
グローバル動き補償画像生成部243は、グローバル動き推定部242から入力するグローバル動きベクトル249を利用して、入力画像110と、合成画像120との位置合わせを実行し、合成画像120の画像位置を入力画像110の画像位置に合わせた動き補償合成画像を生成して合成処理部300に出力する。
一方、ローカル動き補償画像生成部245は、先に図15を参照して説明したローカル動き補償画像生成部222の実行する処理と同様の処理を実行する。
すなわち、ローカル動き補償画像生成部245は、ローカル動き推定部241から入力する局所領域単位のローカル動きベクトル248を利用して、局所領域単位で入力画像110と、合成画像120との位置合わせを行なう。すなわち、ローカル動きベクトル248を利用して、入力画像110と、合成画像120との位置合わせを局所領域単位で実行し、合成画像120の画像位置を入力画像110の画像位置に合わせた動き補償合成画像を生成して合成処理部300に出力する。
すなわち、ローカル動き補償画像生成部245は、ローカル動き推定部241から入力する局所領域単位のローカル動きベクトル248を利用して、局所領域単位で入力画像110と、合成画像120との位置合わせを行なう。すなわち、ローカル動きベクトル248を利用して、入力画像110と、合成画像120との位置合わせを局所領域単位で実行し、合成画像120の画像位置を入力画像110の画像位置に合わせた動き補償合成画像を生成して合成処理部300に出力する。
このハイブリッド位置合わせを実行する構成では、合成処理部300は、以下の2つの動き補償合成画像を入力することになる。
(A)ローカル動き補償画像生成部245がローカル動きベクトル248に基づいて生成したローカル動き補償合成画像、
(B)グローバル動き補償画像生成部243がグローバル動きベクトル249に基づいて生成したグローバル動き補償合成画像、
合成処理部300は、これら2つの動き補償合成画像と、入力画像110を適用して新たな合成画像を生成する。
この合成処理については、後段で説明する。
(A)ローカル動き補償画像生成部245がローカル動きベクトル248に基づいて生成したローカル動き補償合成画像、
(B)グローバル動き補償画像生成部243がグローバル動きベクトル249に基づいて生成したグローバル動き補償合成画像、
合成処理部300は、これら2つの動き補償合成画像と、入力画像110を適用して新たな合成画像を生成する。
この合成処理については、後段で説明する。
なお、本処理例も、入力画像を動画とした場合の処理例であり、位置合わせ処理部200は、合成画像120に対する動き補償を実行して、合成画像120の画像位置を入力画像110の画像位置に合わせる処理を実行する。
静止画処理の場合は、入力画像110に対する動き補償を実行して、入力画像110の画像位置を、合成画像120の画像位置に合わせる処理を実行する。
静止画処理の場合は、入力画像110に対する動き補償を実行して、入力画像110の画像位置を、合成画像120の画像位置に合わせる処理を実行する。
このハイブリッド位置合わせでは、画像内の動被写体のような局所動きに対しても位置合わせを行うことができ、かつ、カメラ動きがあるような画像に対しても、精度良く位置合わせを行うことができる。
[5.ハイブリッド型位置合わせ処理部の生成する2つの動き補償画像を適用した合成処理について]
次に、図18を参照して説明した上記のハイブリッド型の位置合わせ処理部200の生成する2つの動き補償画像を適用した画像合成を実行する合成処理部300の構成と処理について図19を参照して説明する。
次に、図18を参照して説明した上記のハイブリッド型の位置合わせ処理部200の生成する2つの動き補償画像を適用した画像合成を実行する合成処理部300の構成と処理について図19を参照して説明する。
図18を参照して説明したハイブリッド位置合わせを実行する位置合わせ処理部200は、以下の2つの動き補償画像を生成する。
(A)ローカル動き補償画像生成部245がローカル動きベクトル248に基づいて生成したローカル動き補償合成画像
(B)グローバル動き補償画像生成部243がグローバル動きベクトル249に基づいて生成したグローバル動き補償合成画像
(A)ローカル動き補償画像生成部245がローカル動きベクトル248に基づいて生成したローカル動き補償合成画像
(B)グローバル動き補償画像生成部243がグローバル動きベクトル249に基づいて生成したグローバル動き補償合成画像
図18に示すように、合成処理部300は、これら2つの動き補償画像と、入力画像110を入力して、新たな合成画像の生成、すなわち合成画像更新処理を実行して、更新した合成画像を入力画像に対応する出力画像として出力する。
図19は、この合成処理を実行する合成処理部300の詳細構成を示す図である。
図19に示す合成処理部300の構成と処理について説明する。
図19は、この合成処理を実行する合成処理部300の詳細構成を示す図である。
図19に示す合成処理部300の構成と処理について説明する。
図19に示すローカル動き補償合成画像401は、図18に示すローカル動き補償画像生成部245の生成した動き補償画像である。すなわち、上記の(A)ローカル動き補償画像生成部245がローカル動きベクトル248に基づいて生成したローカル動き補償合成画像に相当する。
また、図19に示すグローバル動き補償合成画像402は、図18に示すグローバル動き補償画像生成部243の生成した動き補償画像である。すなわち、上記の(B)グローバル動き補償画像生成部243がグローバル動きベクトル249に基づいて生成したグローバル動き補償合成画像に相当する。
図19に示す合成処理部300は、これら2つの動き補償合成画像の他、入力画像110を入力する。
露光比補正部321は、ローカル動き補償合成画像401の画素値を、入力画像110の露光時間に一致する露光時間に設定した場合の画素値に設定する露光比補正を行なう。
同様に、露光比補正部322は、グローバル動き補償合成画像402の画素値を、入力画像110の露光時間に一致する露光時間に設定した場合の画素値に設定する露光比補正を行なう。
同様に、露光比補正部322は、グローバル動き補償合成画像402の画素値を、入力画像110の露光時間に一致する露光時間に設定した場合の画素値に設定する露光比補正を行なう。
ブレンド処理部323は、以下の3つの画像を入力する。
(1)入力画像110
(2)露光比補正のなされたローカル動き補償合成画像401
(3)露光比補正のなされたグローバル動き補償合成画像402
(1)入力画像110
(2)露光比補正のなされたローカル動き補償合成画像401
(3)露光比補正のなされたグローバル動き補償合成画像402
ブレンド処理部323は、これらの3つの画像の画素値ブレンド処理(合成処理)を実行し、ブレンド画像329を生成する。
ブレンド処理部323の実行する画素値ブレンド処理(合成処理)の詳細シーケンスについて図20に示すフローチャートを参照して後段で説明する。
ブレンド処理部323の実行する画素値ブレンド処理(合成処理)の詳細シーケンスについて図20に示すフローチャートを参照して後段で説明する。
ブレンド処理部323の生成したブレンド画像329は、合成処理実行部328と、平滑化処理部325に出力される。
この後の処理は、先に図7を参照して説明した処理と同様の処理となる。
この後の処理は、先に図7を参照して説明した処理と同様の処理となる。
すなわち、ブレンド処理部323の生成したブレンド画像329は、平滑化処理部325において平滑化処理が実行される。また、入力画像110も、平滑化処理部326に入力され、平滑化処理が実行される。この平滑化処理は合成係数算出部327における合成係数算出処理におけるノイズの影響を抑制するための処理である。
合成係数算出部327では、平滑化された入力画像とブレンド画像を入力し、これらの画像に基づいて各対応画素単位で合成係数αを算出する。なお、合成係数αの算出手順については、先に図8、図9に示す合成係数算出フローを参照して説明した通りである。
最後に、合成処理実行部328が、合成係数算出部327から出力される合成係数αを適用して、入力画像110と、ブレンド画像329との対応画素の合成処理(αブレンド)を実行して出力画像180の構成各画素の画素値を決定する。すなわち先に説明したαブレンド処理を実行して、出力画像180の構成画素値を算出する。
次に、ブレンド処理部323の実行する画素値ブレンド処理(合成処理)の詳細シーケンスについて図20に示すフローチャートを参照して説明する。
まず、ステップS501において、グローバル動き補償画像を取得する。なお、このグローバル動き補償画像は、画素値を入力画像と同一露光時間の設定とした場合の画素値に補正した露光比補正画像である。
次に、ステップS502において入力画像を取得する。なお、入力画像は、動画像を構成する長時間露光画像または短時間露光画像である。
次に、ステップS502において入力画像を取得する。なお、入力画像は、動画像を構成する長時間露光画像または短時間露光画像である。
次に、ステップS503において、入力画像と、露光比補正後のグローバル動き補償画像の対応位置の画素値の差分絶対値(画素値差分絶対値)を算出する。
なお、差分絶対値の算出対象とする領域は、例えば画素単位、複数の画素からなるブロック等、様々な設定が可能である。
なお、差分絶対値の算出対象とする領域は、例えば画素単位、複数の画素からなるブロック等、様々な設定が可能である。
ステップS504において、ステップS503で算出した画素値差分絶対値と予め規定したしきい値Aを比較する。
画素値差分絶対値>しきい値A
上記判定式が成立する場合は、ステップS506に進む。
上記判定式が成立しない場合は、ステップS505に進む。
画素値差分絶対値>しきい値A
上記判定式が成立する場合は、ステップS506に進む。
上記判定式が成立しない場合は、ステップS505に進む。
ステップS504において、ステップS503で算出した画素値差分絶対値が、予め規定したしきい値A以下である(ステップS504の判定=No)と判定するとステップS505に進む。
ステップS505では、その画素の画素値をグローバル動き補償画像の画素値とする。
ステップS505では、その画素の画素値をグローバル動き補償画像の画素値とする。
一方、ステップS504において、ステップS503で算出した画素値差分絶対値が、予め規定したしきい値Aより大である(ステップS504の判定=Yes)と判定するとステップS506に進み、ローカル動き補償画像を取得する。なお、このローカル動き補償画像も、画素値を入力画像と同一露光時間の設定とした場合の画素値に補正した露光比補正画像である。
次に、ステップS507において、ステップS503で算出した画素値差分絶対値と予め規定したしきい値Bを比較する。
すなわち、ステップS503において算出した入力画像と、露光比補正後のグローバル動き補償画像の対応位置の画素値の差分絶対値(画素値差分絶対値)と、予め規定したしきい値Bを比較する。
画素値差分絶対値>しきい値B
画素値差分絶対値>しきい値B
上記判定式が成立する場合、すなわち、画素値差分絶対値がしきい値Bより大きい場合は、ステップS509に進み、その画素の画素値をローカル動き補償画像の画素値とする。
一方、上記判定式が成立しない場合、すなわち、画素値差分絶対値がしきい値B以下である場合は、、ステップS508に進み、その画素の画素値をローカル動き補償画像の画素値とグローバル動き補償画像の画素値をブレンドした画素値とする。
ブレンド率は、画素値差分絶対値としきい値Bとの差が大きいほどグローバル動き補償画像の画素値のブレンド率を大きくする設定とする。
すなわち、画素値差分絶対値が0に近いほど、グローバル動き補償画像の画素値のブレンド率を大きくする設定とする。
一方、上記判定式が成立しない場合、すなわち、画素値差分絶対値がしきい値B以下である場合は、、ステップS508に進み、その画素の画素値をローカル動き補償画像の画素値とグローバル動き補償画像の画素値をブレンドした画素値とする。
ブレンド率は、画素値差分絶対値としきい値Bとの差が大きいほどグローバル動き補償画像の画素値のブレンド率を大きくする設定とする。
すなわち、画素値差分絶対値が0に近いほど、グローバル動き補償画像の画素値のブレンド率を大きくする設定とする。
各画素について、ステップS505、またはステップS508、またはステップS509の処理によって画素値が決定され、最終的に全画素の画素値が設定されると、ステップS510においてブレンド画像を出力する。
ブレンド画像は、図19に示すように合成処理実行部328と、平滑化処理部325に出力される。
ブレンド画像は、図19に示すように合成処理実行部328と、平滑化処理部325に出力される。
図20に示すフローを参照して説明したブレンド処理によって生成されるブレンド画像は、以下の各画素値によって構成される画像となる。
(1)グローバル動き補償合成画像と入力画像との画素値差分絶対値がしきい値A以下の画素は、グローバル動き補償合成画像の画素値、
(2)グローバル動き補償合成画像と入力画像との画素値差分絶対値がしきい値Aより大であり、かつ、しきい値Bより大である画素は、ローカル動き補償合成画像の画素値、
(3)グローバル動き補償合成画像と入力画像との画素値差分絶対値がしきい値Aより大であり、かつ、しきい値B以下である画素は、ローカル動き補償合成画像とグローバル動き補償合成画像の画素値をブレンドした画素値、
ブレンド処理部323の生成するブレンド画像の構成画素値は、上記(1)~(3)のいずれかの画素値の設定された画像となる。
(1)グローバル動き補償合成画像と入力画像との画素値差分絶対値がしきい値A以下の画素は、グローバル動き補償合成画像の画素値、
(2)グローバル動き補償合成画像と入力画像との画素値差分絶対値がしきい値Aより大であり、かつ、しきい値Bより大である画素は、ローカル動き補償合成画像の画素値、
(3)グローバル動き補償合成画像と入力画像との画素値差分絶対値がしきい値Aより大であり、かつ、しきい値B以下である画素は、ローカル動き補償合成画像とグローバル動き補償合成画像の画素値をブレンドした画素値、
ブレンド処理部323の生成するブレンド画像の構成画素値は、上記(1)~(3)のいずれかの画素値の設定された画像となる。
これらの処理により、例えば、グローバル動きベクトルによる動き補償が妥当でない画素領域、具体的には例えば動被写体領域などの画素領域では、ローカル動き補償画像から優先的に画素値が選択される。従って、グローバル動きベクトルによる処理が有効となるカメラ動きに対応した処理と、ローカル動きベクトルによる処理が有効となる動被写体に対応した処理を、各画素の状況に応じて選択的用することが可能となり、精度の高い1枚の動き補償画像をブレンド画像として生成することが可能となる。
[6.その他の位置合わせ処理部の実施例について]
図15~図18を参照して以下の3種類の位置合わせ処理について説明した。
(1)図15=たローカル動きベクトルを適用したローカル位置合わせ
(2)図17=グローバル動きベクトルを適用したグローバル位置合わせ
(3)図18=ローカル動きベクトルを適用したローカル位置合わせと、グローバル動きベクトルを適用したグローバル位置合わせの双方を利用するハイブリッド位置合わせ
次に、これらの基本的な各実施例に対して、変更を加えた実施例について説明する。
図15~図18を参照して以下の3種類の位置合わせ処理について説明した。
(1)図15=たローカル動きベクトルを適用したローカル位置合わせ
(2)図17=グローバル動きベクトルを適用したグローバル位置合わせ
(3)図18=ローカル動きベクトルを適用したローカル位置合わせと、グローバル動きベクトルを適用したグローバル位置合わせの双方を利用するハイブリッド位置合わせ
次に、これらの基本的な各実施例に対して、変更を加えた実施例について説明する。
[6-1.グローバル動きベクトル算出を先行して実行する実施例について]
上述した実施例において、グローバル動きベクトルに基づくグローバル動き補償画像を生成する場合、1画面分のローカル動きベクトルを算出し、その後、そのローカル動きベクトルからグローバル動きベクトルを算出し、その後、グローバル動きベクトルを適用してグローバル動き補償画像を生成することが必要となる。これらの一連の処理が完了するまでは、合成処理部300における合成処理を開始することができない。
上述した実施例において、グローバル動きベクトルに基づくグローバル動き補償画像を生成する場合、1画面分のローカル動きベクトルを算出し、その後、そのローカル動きベクトルからグローバル動きベクトルを算出し、その後、グローバル動きベクトルを適用してグローバル動き補償画像を生成することが必要となる。これらの一連の処理が完了するまでは、合成処理部300における合成処理を開始することができない。
例えば、入力画像が動画である場合、リアルタイムで処理を行うためには、現フレームの入力画像が入力されてから、次フレームの入力画像が入力されるまでに、ローカル動き推定、ローカル動き補償、グローバル動き推定、グローバル動き補償、合成処理を行わなければならない。このためには各処理の並列化、処理の高速化が必要となる。しかし、これでは回路規模、消費電力が大きくなってしまうという問題がある。
このような問題を解決するためには、グローバル動きベクトルの算出処理を1つ前の入力画像とその時点で生成済みの最新の合成画像との間で実行するという手法が有効である。
このような処理によって、グローバル動きベクトルの算出を先行して実行することが可能となり、回路規模、消費電力の増加を抑えてリアルタイム処理を行なうことが可能となる。
このような処理によって、グローバル動きベクトルの算出を先行して実行することが可能となり、回路規模、消費電力の増加を抑えてリアルタイム処理を行なうことが可能となる。
[6-2.1フレーム前の入力画像を利用して動き推定を行う実施例について]
次に、図21を参照して1フレーム前の入力画像を利用して動き推定を行う実施例について説明する。
図21に示す画像処理装置100の位置合わせ処理部200は、先に図18を参照して説明した位置合わせ処理部と同様のハイブリッド型の位置合わせ処理を行なう。すなわち、
(a)ローカル動きベクトルに基づくローカル動き補償画像、
(b)グローバル動きベクトルに基づくグローバル動き補償画像、
これらの2つの動き補償画像を生成して合成処理部300に提供する構成である。
次に、図21を参照して1フレーム前の入力画像を利用して動き推定を行う実施例について説明する。
図21に示す画像処理装置100の位置合わせ処理部200は、先に図18を参照して説明した位置合わせ処理部と同様のハイブリッド型の位置合わせ処理を行なう。すなわち、
(a)ローカル動きベクトルに基づくローカル動き補償画像、
(b)グローバル動きベクトルに基づくグローバル動き補償画像、
これらの2つの動き補償画像を生成して合成処理部300に提供する構成である。
図21に示す位置合わせ処理部200は、先行する入力画像110をフレームメモリ251に格納し、後続する入力画像110との間で入力画像間の動き推定を実行する。
露光比補正部252は、フレームメモリ251から取得した先行入力画像と、後続の入力画像110を入力して、これらの画像を同じ露光時間に設定した場合の画素値に設定するための露光比補正を行なう。
露光比補正部252の実行する露光比補正処理のシーケンスについて、図22に示すフローチャートを参照して説明する。
まず、ステップS701で最新の入力画像を入力する。なお、画像は露光比補正された画像である。例えば長時間露光画像と短時間露光画像の露光時間比が2:1である場合、露光比補正により、短時間露光画像の画素値は2倍に設定する露光比補正(ゲインアップ)を行なう。
次に、ステップS702において、先行入力画像であり、フレームメモリ251に格納されていた前フレーム画像を取得する。この画像も露光比補正された画像である。
次に、ステップS703において、最新の入力画像、すなわち後続入力画像の露光時間情報を取得する。例えば長時間露光画像であるか短時間露光画像であるかの情報である。
次に、ステップS703において、最新の入力画像、すなわち後続入力画像の露光時間情報を取得する。例えば長時間露光画像であるか短時間露光画像であるかの情報である。
次に、ステップS704において、後続入力画像の露光情報から後続入力画像が短時間露光画像か長時間露光画像か判定する。
入力画像が長時間露光画像であると判定した場合、ステップS705に進む。
ステップS705では、ステップS702で取得した前フレーム入力画像のゲインアップ、すなわち露光比補正を実行する。これは、前フレーム入力画像の画素値を、後続入力画像である長時間露光画像と同様の露光時間に設定したと仮定した場合の画素値に変更する処理である。
すなわち、先行入力画像も後続入力画像も長時間露光した場合の画素値に揃える処理を行なう。
入力画像が長時間露光画像であると判定した場合、ステップS705に進む。
ステップS705では、ステップS702で取得した前フレーム入力画像のゲインアップ、すなわち露光比補正を実行する。これは、前フレーム入力画像の画素値を、後続入力画像である長時間露光画像と同様の露光時間に設定したと仮定した場合の画素値に変更する処理である。
すなわち、先行入力画像も後続入力画像も長時間露光した場合の画素値に揃える処理を行なう。
ステップS704において、入力画像が短時間露光画像であると判定した場合、ステップS706に進む。
ステップS706では、ステップS701で取得した後続入力画像のゲインアップ、すなわち露光比補正を実行する。これは、後続入力画像の画素値を、先行入力画像である前フレームの長時間露光画像と同様の露光時間に設定したと仮定した場合の画素値に変更する処理である。
すなわち、先行入力画像も後続入力画像も長時間露光した場合の画素値に揃える処理を行なう。
ステップS706では、ステップS701で取得した後続入力画像のゲインアップ、すなわち露光比補正を実行する。これは、後続入力画像の画素値を、先行入力画像である前フレームの長時間露光画像と同様の露光時間に設定したと仮定した場合の画素値に変更する処理である。
すなわち、先行入力画像も後続入力画像も長時間露光した場合の画素値に揃える処理を行なう。
ステップS705、またはステップS706の処理が終了するとステップS707に進む。ステップS707では、露光比補正画像を飽和レベルでクリップする。すなわち、飽和レベルを示す画素値、例えば画素値設定が0~255であるとすると255以上の画素の画素値を全て255に設定する処理を行なう。
最後に、ステップS708において、生成した画像を露光比補正画像として出力する。
図21の構成では、先行入力画像、後続入力画像ともローカル動き推定部253に出力される。
ローカル動き推定部253では、これらの2つの連続入力画像間の局所領域単位の動きを示すローカル動きベクトル258を算出する。その後の処理は、先に図18を参照して説明した処理と同様の処理となる。
図21の構成では、先行入力画像、後続入力画像ともローカル動き推定部253に出力される。
ローカル動き推定部253では、これらの2つの連続入力画像間の局所領域単位の動きを示すローカル動きベクトル258を算出する。その後の処理は、先に図18を参照して説明した処理と同様の処理となる。
ただし、図21に示す構成では、ローカル動き推定部253は、連続する2つの入力画像に基づいて、順次、ローカル動きベクトル258を出力することが可能である。グローバル動き推定部255は、ローカル動き推定部253の出力するローカル動きベクトル258を利用して、順次、グローバル動きを算出することが可能となる。
すなわち、例えば、以下のような処理が可能となる。
入力画像をフレームt、フレームt+1、フレームt+2・・・とする。
ローカル動き推定部253が、
フレームt、フレームt+1に基づいて生成するローカル動きベクトルをLV(t,t+1)
フレームt+1、フレームt+2に基づいて生成するローカル動きベクトルをLV(t+1,t+2)、
フレームt、フレームt+1に基づいて生成するグローバル動きベクトルをGV(t,t+1)
フレームt+1、フレームt+2に基づいて生成するグローバル動きベクトルをGV(t+1,t+2)、
とする。
入力画像をフレームt、フレームt+1、フレームt+2・・・とする。
ローカル動き推定部253が、
フレームt、フレームt+1に基づいて生成するローカル動きベクトルをLV(t,t+1)
フレームt+1、フレームt+2に基づいて生成するローカル動きベクトルをLV(t+1,t+2)、
フレームt、フレームt+1に基づいて生成するグローバル動きベクトルをGV(t,t+1)
フレームt+1、フレームt+2に基づいて生成するグローバル動きベクトルをGV(t+1,t+2)、
とする。
このような設定において、
(1)ローカル動き推定部253における、フレームt+1、フレームt+2に基づくローカル動きベクトルLV(t+1,t+2)の生成処理、
(2)グローバル動き推定部255における、先行入力画像であるフレームt、フレームt+1に基づいて生成済みのローカル動きベクトルLV(t,t+1)を適用したグローバル動きベクトルGV(t,t+1)の生成処理、
これらの処理を並列に実行することが可能となる。
(1)ローカル動き推定部253における、フレームt+1、フレームt+2に基づくローカル動きベクトルLV(t+1,t+2)の生成処理、
(2)グローバル動き推定部255における、先行入力画像であるフレームt、フレームt+1に基づいて生成済みのローカル動きベクトルLV(t,t+1)を適用したグローバル動きベクトルGV(t,t+1)の生成処理、
これらの処理を並列に実行することが可能となる。
この並列実行処理によってローカル動き補償画像と、グローバル動き補償画像を、順次、生成して合成処理部300に出力することで、処理遅れなく出力画像180を生成して出力することが可能となり、回路規模、消費電力の増加を抑えたリアルタイム処理が実現される。
[6-3.対応画素位置の再探索を行なう実施例について]
上述した図21に示す位置合わせ処理部200の構成では、ローカル動き推定部253は、2つの入力画像の局所領域単位で、対応画素領域を探索して局所領域単位の動きベクトルであるローカル動きベクトルを算出する処理を実行している。
この対応画素領域の探索処理には、例えば、ブロックマッチング法、勾配法、位相相関法などが使用可能である。
上述した図21に示す位置合わせ処理部200の構成では、ローカル動き推定部253は、2つの入力画像の局所領域単位で、対応画素領域を探索して局所領域単位の動きベクトルであるローカル動きベクトルを算出する処理を実行している。
この対応画素領域の探索処理には、例えば、ブロックマッチング法、勾配法、位相相関法などが使用可能である。
しかし、処理対象とする入力画像は、複数枚の異なる露光時間で撮像された画像である。これらの画像は、画面内の一部分が飽和していたり、黒潰れしていたりする可能性もある。
グローバル動き推定に関しては、1画面分の動きベクトルを使って動き推定を行うので、一部の飽和または黒潰れ領域でローカル動きベクトルが正しく推定できなかったとしても、グローバル動きベクトルの精度が大きく低下する可能性は低い。しかし、ローカル動きベクトルの算出においては、その局所領域が飽和または黒潰れしていると、ローカル動きベクトルの精度が著しく低下するおそれがある。
グローバル動き推定に関しては、1画面分の動きベクトルを使って動き推定を行うので、一部の飽和または黒潰れ領域でローカル動きベクトルが正しく推定できなかったとしても、グローバル動きベクトルの精度が大きく低下する可能性は低い。しかし、ローカル動きベクトルの算出においては、その局所領域が飽和または黒潰れしていると、ローカル動きベクトルの精度が著しく低下するおそれがある。
このような問題を解消する実施例について図23を参照して説明する。
図23に示す位置合わせ処理部200は、図21を参照して説明した位置合わせ処理部の構成に、再探索処理部264と、露光比補正部265を追加した構成である。
図23に示す位置合わせ処理部200は、図21を参照して説明した位置合わせ処理部の構成に、再探索処理部264と、露光比補正部265を追加した構成である。
図23に示す構成において、ローカル動き推定部263におけるローカル動きベクトル269の算出処理は、先に図21を参照して説明したと同様、2つの連続入力画像を適用して実行する。
しかし、ローカル動き補償画像生成部266におけるローカル動き補償画像の生成処理を行なう前に、再探索処理部264において、前フレームまでの合成画像を適用して、ローカル動きベクトルの再探索を行い、その結果をローカル動き補償画像生成部266に提供する。
しかし、ローカル動き補償画像生成部266におけるローカル動き補償画像の生成処理を行なう前に、再探索処理部264において、前フレームまでの合成画像を適用して、ローカル動きベクトルの再探索を行い、その結果をローカル動き補償画像生成部266に提供する。
この図23に示す構成においても、先に図21を参照して説明した構成と同様、ローカル動き推定部263に入力する2枚の画像は、入力画像110とフレームメモリ261に保持された前フレームの入力画像である。この2枚は露光比補正部262において同じ露出に補正される。
露光の揃った入力画像と前フレームの入力画像を使って、ローカル動き推定部263で局所領域ごとに動き推定を行い、ローカル動きベクトル269を出力する。
グローバル動き推定部267は、ローカル動きベクトル269を適用してグローバル動き推定を行いグローバル動きベクトル270を生成する。
グローバル動き推定部267は、ローカル動きベクトル269を適用してグローバル動き推定を行いグローバル動きベクトル270を生成する。
また、ローカル動き推定部263の生成したローカル動きベクトル269は、再探索処理部264にも入力される。
再探索処理部264は、フレームメモリ400に格納された合成画像120と、フレームメモリ261に格納された入力画像を利用して、ローカル動き推定部263の生成したローカル動きベクトル269の検証処理を行なう。
なお、合成画像120は、露光比補正部265において、フレームメモリ261に格納された画像と同一の露光設定とした露光補正画像を利用する。
再探索処理部264は、フレームメモリ400に格納された合成画像120と、フレームメモリ261に格納された入力画像を利用して、ローカル動き推定部263の生成したローカル動きベクトル269の検証処理を行なう。
なお、合成画像120は、露光比補正部265において、フレームメモリ261に格納された画像と同一の露光設定とした露光補正画像を利用する。
再探索処理部264は、露光補正された合成画像120と、フレームメモリ261に格納された入力画像を用いてローカル動きベクトルを算出する。さらに、算出したベクトルと、ローカル動き推定部263から入力したローカル動きベクトル269との差分を判定し、差分が大きく、入力したローカル動きベクトル269が誤りであると判定される場合は、合成画像120と、フレームメモリ261に格納された入力画像を用いて算出されたローカル動きベクトルに置き換える処理を行なう。この置き換えたローカル動きベクトルをローカル動き補償画像生成部266に出力する。
ローカル動き補償画像生成部266は、再探索処理部264の生成したローカル動きベクトルを適用して動き補償画像を生成する。
これにより、入力画像の一部が飽和または黒潰れしており、入力画像間では正しくローカル動き推定ができないような場合でも、精度良く位置合わせを行うことができる。
これにより、入力画像の一部が飽和または黒潰れしており、入力画像間では正しくローカル動き推定ができないような場合でも、精度良く位置合わせを行うことができる。
[6-4.再探索範囲を指定可能とした実施例について]
次に、図23を参照して説明した再探索処理部264を持つ構成において、再探索範囲を指定可能とした実施例について説明する。
この実施例の位置合わせ処理部2000の詳細構成を図24に示す。
次に、図23を参照して説明した再探索処理部264を持つ構成において、再探索範囲を指定可能とした実施例について説明する。
この実施例の位置合わせ処理部2000の詳細構成を図24に示す。
図24に示す位置合わせ処理部200は、図23を参照して説明した構成とほぼ同様の構成である。
ただし、グローバル動き推定部267から、再探索処理部264に対してグローバル動き推定結果としてのグローバル動きベクトル270を入力している点が異なる。
ただし、グローバル動き推定部267から、再探索処理部264に対してグローバル動き推定結果としてのグローバル動きベクトル270を入力している点が異なる。
再探索処理部264は、グローバル動き推定部267からグローバル動きベクトル270を入力し、入力したグローバル動きベクトル270を用いて、フレームメモリ261から取得した入力画像と、合成画像120との対応画素領域の探索範囲を限定する処理を行なう。
具体的には、例えば図25に示すように、
(1)ローカル動きベクトルの指定先を中心にある範囲を再探索する方法、
(2)0ベクトル、すなわち、注目領域と同じ位置を中心にある範囲を再探索する方法、
(3)グローバル動きベクトル先を中心にある範囲を再探索する方法、
これらの方法を利用可能である。
例えば、入力画像が飽和または黒潰れしている領域は、上記の(2)0ベクトルや、(3)グローバル動きベクトルを適用した処理を実行する。また、ローカル動きベクトルが正しく算出できる可能性の高い領域は、上記の(1)ローカル動きベクトルを適用した処理を行なう。
(1)ローカル動きベクトルの指定先を中心にある範囲を再探索する方法、
(2)0ベクトル、すなわち、注目領域と同じ位置を中心にある範囲を再探索する方法、
(3)グローバル動きベクトル先を中心にある範囲を再探索する方法、
これらの方法を利用可能である。
例えば、入力画像が飽和または黒潰れしている領域は、上記の(2)0ベクトルや、(3)グローバル動きベクトルを適用した処理を実行する。また、ローカル動きベクトルが正しく算出できる可能性の高い領域は、上記の(1)ローカル動きベクトルを適用した処理を行なう。
このように、画像の状態に応じて、探索範囲を決定することで、高精度に、かつ効率的に2つの画像間の対応画素領域を検出することが可能となり、ローカル動きベクトルをより正確にかつ効率的に算出することが可能となる。
[7.画像処理装置の全体構成例について]
最後に、上述した各実施例に従った処理を実行する画像処理装置の全体構成例について説明する。
図26は、本開示の画像処理装置の一実施例としての撮像装置600の構成例を示す図である。光学レンズ601を介して入射される光は撮像部、例えばCMOSイメージセンサなどによって構成される撮像デバイス602に入射し、光電変換による画像データを出力する。出力画像データは画像処理部603に入力される。
最後に、上述した各実施例に従った処理を実行する画像処理装置の全体構成例について説明する。
図26は、本開示の画像処理装置の一実施例としての撮像装置600の構成例を示す図である。光学レンズ601を介して入射される光は撮像部、例えばCMOSイメージセンサなどによって構成される撮像デバイス602に入射し、光電変換による画像データを出力する。出力画像データは画像処理部603に入力される。
画像処理部603は、上述した各実施例に従った処理、すなわち複数画像の合成処理を伴う出力画像の生成処理を実行する。さらに、画像処理部603は、撮像データに対する一般的なカメラ信号処理、例えば、ホワイトバランス(WB)調整、ガンマ補正等の信号処理も実行して、出力画像620を生成する。出力画像620は図示しない記憶部に格納される。あるいは表示部に出力される。
制御部605は、例えばメモリ606に格納されたプログラムに従って各部に制御信号を出力し、各種の処理の制御を行う。
本開示の画像処理を用いることで、ある露光時間で撮像された画像と前フレームまでの合成画像を位置合わせしながら逐次合成することが可能となる。
また、ダイナミックレンジ拡張処理とノイズ除去処理を同時に行うことができるため、両処理に共通の位置合わせブロックとすることができる。
これにより、ダイナミックレンジ拡張処理とノイズ除去処理を単純に繋ぎ合わせた場合よりも少ない回路規模、消費電力で実現可能となる。
また、位置合わせを行うことで、画面内に動被写体がある場合やカメラ動きがある場合にも、位置ずれによる影響を抑えることができ、画像のダイナミックレンジを拡張しつつ、画像全体のS/Nを改善することが可能となる。
また、ダイナミックレンジ拡張処理とノイズ除去処理を同時に行うことができるため、両処理に共通の位置合わせブロックとすることができる。
これにより、ダイナミックレンジ拡張処理とノイズ除去処理を単純に繋ぎ合わせた場合よりも少ない回路規模、消費電力で実現可能となる。
また、位置合わせを行うことで、画面内に動被写体がある場合やカメラ動きがある場合にも、位置ずれによる影響を抑えることができ、画像のダイナミックレンジを拡張しつつ、画像全体のS/Nを改善することが可能となる。
[8.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、
位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理部を有し、
前記位置合わせ処理部は、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力し、
前記合成処理部は、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する画像処理装置。
(1) 異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、
位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理部を有し、
前記位置合わせ処理部は、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力し、
前記合成処理部は、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する画像処理装置。
(2)前記先行処理画像は、前記合成処理部が先行入力画像に基づいて生成した先行合成画像であり、前記位置合わせ処理部は、前記先行合成画像と前記入力画像との位置合わせ処理を実行する前記(1)に記載の画像処理装置。
(3)前記位置合わせ処理部は、位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて画像位置を変更したローカル動き補償画像を生成する前記(1)または(2)に記載の画像処理装置。
(4)前記位置合わせ処理部は、位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて、さらに画像全体の動きを示すグローバル動きベクトルを算出し、算出したグローバル動きベクトルに基づいて画像位置を変更したグローバル動き補償画像を生成する前記(1)~(3)いずれかに記載の画像処理装置。
(5)前記位置合わせ処理部は、位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて画像位置を変更したローカル動き補償画像を生成し、さらに、前記ローカル動きベクトルに基づいて、さらに画像全体の動きを示すグローバル動きベクトルを算出し、算出したグローバル動きベクトルに基づいて画像位置を変更したグローバル動き補償画像を生成する前記(1)~(4)いずれかに記載の画像処理装置。
(6)前記合成処理部は、前記ローカル動き補償画像と、前記グローバル動き補償画像と、前記入力画像を適用した画素値ブレンド処理によりブレンド画像を生成し、
前記ブレンド画像と前記入力画像との合成処理により出力画像を生成する前記(5)に記載の画像処理装置。
前記ブレンド画像と前記入力画像との合成処理により出力画像を生成する前記(5)に記載の画像処理装置。
(7)前記合成処理部は、前記ローカル動き補償画像と、前記グローバル動き補償画像と、前記入力画像を共通の露光時間に設定したと仮定した場合の画素値に設定する露光比補正を実行し、露光比補正後の入力画像とグローバル動き補償画像との対応画素の画素値差分絶対値を算出し、算出した画素値差分絶対値と予め規定したしきい値との比較結果に応じて、出力画素値の選択または算出処理を実行する前記(6)に記載の画像処理装置。
(8)前記位置合わせ処理部は、連続する2つの入力画像間の動きに基づいて、ローカル動きベクトルを算出し、算出したローカル動きベクトルを、前記合成処理部の生成した先行合成画像に適用してローカル動き補償画像を生成し、前記連続する2つの入力画像間の動きに基づいて生成したローカル動きベクトルに基づいてグローバル動きベクトルを算出し、算出したグローバル動きベクトルを、前記合成処理部の生成した先行合成画像に適用してグローバル動き補償画像を生成する前記(5)に記載の画像処理装置。
(9)前記位置合わせ処理部は、前記先行合成画像と入力画像を適用して、前記連続する2つの入力画像間の動きに基づいて算出したローカル動きベクトルの検証処理としての対応画素位置再探索処理を実行する再探索処理部を有し、前記再探索処理部における再探索処理によって修正されたローカル動きベクトルを前記先行合成画像に適用してローカル動き補償画像を生成する前記(8)に記載の画像処理装置。
(10)前記再探索処理部は、前記連続する2つの入力画像を適用して生成したグローバル動きベクトルを入力して、前記先行合成画像と入力画像間の対応画像領域の探索範囲を決定する前記(9)に記載の画像処理装置。
(11)前記入力画像は、静止画像出力のために連続撮影された異なる露光時間の撮影画像であり、前記位置合わせ処理部は、連続撮影された異なる露光時間の撮影画像に含まれる1つの画像の画像位置に他の画像の画像位置を合わせる位置合わせ処理を実行して動き補償画像生成処理を実行し、前記合成処理部は、前記動き補償画像を適用した合成画像の更新を実行して、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する前記(1)~(10)いずれかに記載の画像処理装置。
(12)前記入力画像は、動画像出力のために連続撮影された異なる露光時間の撮影画像であり、前記位置合わせ処理部は、連続撮影された異なる露光時間の撮影画像中の最新の入力画像の画像位置に先行画像の画像位置を合わせる位置合わせ処理を実行して動き補償画像生成処理を実行し、前記合成処理部は、前記動き補償画像を適用した合成画像の更新を実行して、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する前記(1)~(10)いずれかに記載の画像処理装置。
(13)画像処理装置において実行する画像処理方法であり、
位置合わせ処理部が、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理ステップと、
合成処理部が、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理ステップを実行し、
前記位置合わせ処理ステップは、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力するステップであり、
前記合成処理ステップは、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成するステップである画像処理方法。
位置合わせ処理部が、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理ステップと、
合成処理部が、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理ステップを実行し、
前記位置合わせ処理ステップは、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力するステップであり、
前記合成処理ステップは、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成するステップである画像処理方法。
(14)画像処理装置において画像処理を実行させるプログラムであり、
位置合わせ処理部に、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行させる位置合わせ処理ステップと、
合成処理部に、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成させる合成処理ステップを実行させ、
前記位置合わせ処理ステップにおいては、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力させ、
前記合成処理ステップにおいては、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成させるプログラム。
位置合わせ処理部に、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行させる位置合わせ処理ステップと、
合成処理部に、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成させる合成処理ステップを実行させ、
前記位置合わせ処理ステップにおいては、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力させ、
前記合成処理ステップにおいては、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成させるプログラム。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、異なる露光時間の連続撮影画像を適用して動き補償画像を生成し、生成した動き補償画像を適用した画像の合成処理により、ノイズ低減および高ダイナミックレンジ拡張処理を施した画像を生成可能とした画像処理装置が実現される。
具体的には、異なる露光時間の連続撮影画像を入力し、入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行する合成処理部を有する。位置合わせ処理部は、入力画像と先行処理画像を、共通露光時間の画素値に補正する露光比補正を実行し、露光比補正画像を適用して画像間の動きを検出し、入力画像または先行処理画像のいずれかの画像を他方の画像位置に合わせた動き補償画像を生成する。合成処理部は、動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する。
これらの処理により、異なる露光時間の連続撮影画像を適用して動き補償画像を生成し、生成した動き補償画像を適用した画像の合成処理により、ノイズ低減および高ダイナミックレンジ拡張処理を施した画像を生成可能とした画像処理装置が実現される。
具体的には、異なる露光時間の連続撮影画像を入力し、入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行する合成処理部を有する。位置合わせ処理部は、入力画像と先行処理画像を、共通露光時間の画素値に補正する露光比補正を実行し、露光比補正画像を適用して画像間の動きを検出し、入力画像または先行処理画像のいずれかの画像を他方の画像位置に合わせた動き補償画像を生成する。合成処理部は、動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する。
これらの処理により、異なる露光時間の連続撮影画像を適用して動き補償画像を生成し、生成した動き補償画像を適用した画像の合成処理により、ノイズ低減および高ダイナミックレンジ拡張処理を施した画像を生成可能とした画像処理装置が実現される。
10 入力画像
11 フレームメモリ
12 ダイナミックレンジ拡張処理実行部
13 ノイズ除去処理実行部
14 フレームメモリ
15 出力画像
20 入力画像
21 ノイズ除去処理実行部
22 フレームメモリ
23 ダイナミックレンジ拡張処理実行部
25 出力画像
110 入力画像
120 合成画像
180 出力画像
200 位置合わせ処理部
201 動き推定部
202 動き補償画像生成部
211 動き推定部
212 動き補償画像生成部
221 ローカル動き推定部
222 ローカル動き補償画像生成部
223 露光比補正部
231 ローカル動き推定部
232 グローバル動き推定部
233 グローバル動き補償画像生成部
234 露光比補正部
241 ローカル動き推定部
242 グローバル動き推定部
243 グローバル動き補償画像生成部
244 露光比補正部
245 ローカル動き補償画像生成部
251 フレームメモリ
252 露光比補正部
253 ローカル動き推定部
254 ローカル動き補償画像生成部
255 グローバル動き推定部
256 グローバル動き補償画像生成部
261 フレームメモリ
262 露光比補正部
263 ローカル動き推定部
264 再探索処理部
265 露光比補正部
266 ローカル動き補償画像生成部
267 グローバル動き推定部
268 グローバル動き補償画像生成部
300 合成処理部
311 露光比補正部
312 ,313, 平滑化処理部
314 合成係数算出部
315 合成処理実行部
321,322 露光比補正部
323 ブレンド処理部
324 露光比補正部
325,326 平滑化処理部
327 合成係数算出部
328 合成処理実行部
400 フレームメモリ
600 撮像装置
601 光学レンズ
602 撮像デバイス
603 画像処理部
605 制御部
606 メモリ
11 フレームメモリ
12 ダイナミックレンジ拡張処理実行部
13 ノイズ除去処理実行部
14 フレームメモリ
15 出力画像
20 入力画像
21 ノイズ除去処理実行部
22 フレームメモリ
23 ダイナミックレンジ拡張処理実行部
25 出力画像
110 入力画像
120 合成画像
180 出力画像
200 位置合わせ処理部
201 動き推定部
202 動き補償画像生成部
211 動き推定部
212 動き補償画像生成部
221 ローカル動き推定部
222 ローカル動き補償画像生成部
223 露光比補正部
231 ローカル動き推定部
232 グローバル動き推定部
233 グローバル動き補償画像生成部
234 露光比補正部
241 ローカル動き推定部
242 グローバル動き推定部
243 グローバル動き補償画像生成部
244 露光比補正部
245 ローカル動き補償画像生成部
251 フレームメモリ
252 露光比補正部
253 ローカル動き推定部
254 ローカル動き補償画像生成部
255 グローバル動き推定部
256 グローバル動き補償画像生成部
261 フレームメモリ
262 露光比補正部
263 ローカル動き推定部
264 再探索処理部
265 露光比補正部
266 ローカル動き補償画像生成部
267 グローバル動き推定部
268 グローバル動き補償画像生成部
300 合成処理部
311 露光比補正部
312 ,313, 平滑化処理部
314 合成係数算出部
315 合成処理実行部
321,322 露光比補正部
323 ブレンド処理部
324 露光比補正部
325,326 平滑化処理部
327 合成係数算出部
328 合成処理実行部
400 フレームメモリ
600 撮像装置
601 光学レンズ
602 撮像デバイス
603 画像処理部
605 制御部
606 メモリ
Claims (14)
- 異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理部と、
位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理部を有し、
前記位置合わせ処理部は、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力し、
前記合成処理部は、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する画像処理装置。 - 前記先行処理画像は、前記合成処理部が先行入力画像に基づいて生成した先行合成画像であり、
前記位置合わせ処理部は、前記先行合成画像と前記入力画像との位置合わせ処理を実行する請求項1に記載の画像処理装置。 - 前記位置合わせ処理部は、
位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて画像位置を変更したローカル動き補償画像を生成する請求項1に記載の画像処理装置。 - 前記位置合わせ処理部は、
位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて、さらに画像全体の動きを示すグローバル動きベクトルを算出し、算出したグローバル動きベクトルに基づいて画像位置を変更したグローバル動き補償画像を生成する請求項1に記載の画像処理装置。 - 前記位置合わせ処理部は、
位置合わせ処理対象となる各画像のローカル領域単位のローカル動きベクトルを算出し、算出したローカル動きベクトルに基づいて画像位置を変更したローカル動き補償画像を生成し、さらに、
前記ローカル動きベクトルに基づいて、さらに画像全体の動きを示すグローバル動きベクトルを算出し、算出したグローバル動きベクトルに基づいて画像位置を変更したグローバル動き補償画像を生成する請求項1に記載の画像処理装置。 - 前記合成処理部は、
前記ローカル動き補償画像と、前記グローバル動き補償画像と、前記入力画像を適用した画素値ブレンド処理によりブレンド画像を生成し、
前記ブレンド画像と前記入力画像との合成処理により出力画像を生成する請求項5に記載の画像処理装置。 - 前記合成処理部は、
前記ローカル動き補償画像と、前記グローバル動き補償画像と、前記入力画像を共通の露光時間に設定したと仮定した場合の画素値に設定する露光比補正を実行し、
露光比補正後の入力画像とグローバル動き補償画像との対応画素の画素値差分絶対値を算出し、
算出した画素値差分絶対値と予め規定したしきい値との比較結果に応じて、出力画素値の選択または算出処理を実行する請求項6に記載の画像処理装置。 - 前記位置合わせ処理部は、
連続する2つの入力画像間の動きに基づいて、ローカル動きベクトルを算出し、算出したローカル動きベクトルを、前記合成処理部の生成した先行合成画像に適用してローカル動き補償画像を生成し、
前記連続する2つの入力画像間の動きに基づいて生成したローカル動きベクトルに基づいてグローバル動きベクトルを算出し、算出したグローバル動きベクトルを、前記合成処理部の生成した先行合成画像に適用してグローバル動き補償画像を生成する請求項5に記載の画像処理装置。 - 前記位置合わせ処理部は、
前記先行合成画像と入力画像を適用して、前記連続する2つの入力画像間の動きに基づいて算出したローカル動きベクトルの検証処理としての対応画素位置再探索処理を実行する再探索処理部を有し、
前記再探索処理部における再探索処理によって修正されたローカル動きベクトルを前記先行合成画像に適用してローカル動き補償画像を生成する請求項8に記載の画像処理装置。 - 前記再探索処理部は、
前記連続する2つの入力画像を適用して生成したグローバル動きベクトルを入力して、前記先行合成画像と入力画像間の対応画像領域の探索範囲を決定する請求項9に記載の画像処理装置。 - 前記入力画像は、静止画像出力のために連続撮影された異なる露光時間の撮影画像であり、
前記位置合わせ処理部は、
連続撮影された異なる露光時間の撮影画像に含まれる1つの画像の画像位置に他の画像の画像位置を合わせる位置合わせ処理を実行して動き補償画像生成処理を実行し、
前記合成処理部は、
前記動き補償画像を適用した合成画像の更新を実行して、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する請求項1に記載の画像処理装置。 - 前記入力画像は、動画像出力のために連続撮影された異なる露光時間の撮影画像であり、
前記位置合わせ処理部は、
連続撮影された異なる露光時間の撮影画像中の最新の入力画像の画像位置に先行画像の画像位置を合わせる位置合わせ処理を実行して動き補償画像生成処理を実行し、
前記合成処理部は、
前記動き補償画像を適用した合成画像の更新を実行して、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成する請求項1に記載の画像処理装置。 - 画像処理装置において実行する画像処理方法であり、
位置合わせ処理部が、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行する位置合わせ処理ステップと、
合成処理部が、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成する合成処理ステップを実行し、
前記位置合わせ処理ステップは、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力するステップであり、
前記合成処理ステップは、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成するステップである画像処理方法。 - 画像処理装置において画像処理を実行させるプログラムであり、
位置合わせ処理部に、異なる露光時間に設定された連続撮影画像を入力画像として、順次入力し、該入力画像と先行処理画像との位置合わせを実行させる位置合わせ処理ステップと、
合成処理部に、位置合わせ処理後の入力画像と先行処理画像との合成処理を実行して出力画像を生成させる合成処理ステップを実行させ、
前記位置合わせ処理ステップにおいては、
前記入力画像と先行処理画像を、共通の露光時間に設定した場合の画素値に補正する露光比補正処理を実行し、露光比補正画像を適用して対応画素領域を検出して画像間の動きを検出し、検出動き情報に基づいて、前記入力画像、または前記先行処理画像のいずれか一方の画像を他方の画像位置に合わせた動き補償画像を生成して、前記合成処理部に出力させ、
前記合成処理ステップにおいては、
前記動き補償画像を適用した合成処理により、ダイナミックレンジ拡張処理とノイズ低減処理を施した出力画像を生成させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-234003 | 2012-10-23 | ||
JP2012234003 | 2012-10-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014065055A1 true WO2014065055A1 (ja) | 2014-05-01 |
Family
ID=50544435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/075638 WO2014065055A1 (ja) | 2012-10-23 | 2013-09-24 | 画像処理装置、および画像処理方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2014065055A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3002730A3 (en) * | 2014-10-02 | 2016-05-18 | Dolby Laboratories Licensing Corp. | Blending images using mismatched source and display electro-optical transfer functions |
WO2016175036A1 (ja) * | 2015-04-27 | 2016-11-03 | ソニーセミコンダクタソリューションズ株式会社 | 固体撮像素子およびその駆動方法、並びに電子機器 |
WO2020070994A1 (ja) * | 2018-10-01 | 2020-04-09 | 株式会社テックイデア | イメージセンサ |
JP2020529159A (ja) * | 2017-07-27 | 2020-10-01 | レイセオン カンパニー | 多重化高ダイナミックレンジ画像 |
CN112654952A (zh) * | 2018-12-25 | 2021-04-13 | 株式会社和冠 | 输入系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010183127A (ja) * | 2009-02-03 | 2010-08-19 | Sony Corp | 画像処理装置、画像処理方法および撮像装置 |
JP2011103558A (ja) * | 2009-11-11 | 2011-05-26 | Casio Computer Co Ltd | 撮像装置、撮像方法、及び撮像プログラム |
-
2013
- 2013-09-24 WO PCT/JP2013/075638 patent/WO2014065055A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010183127A (ja) * | 2009-02-03 | 2010-08-19 | Sony Corp | 画像処理装置、画像処理方法および撮像装置 |
JP2011103558A (ja) * | 2009-11-11 | 2011-05-26 | Casio Computer Co Ltd | 撮像装置、撮像方法、及び撮像プログラム |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3002730A3 (en) * | 2014-10-02 | 2016-05-18 | Dolby Laboratories Licensing Corp. | Blending images using mismatched source and display electro-optical transfer functions |
US9729801B2 (en) | 2014-10-02 | 2017-08-08 | Dolby Laboratories Licensing Corporation | Blending images using mismatched source and display electro-optical transfer functions |
WO2016175036A1 (ja) * | 2015-04-27 | 2016-11-03 | ソニーセミコンダクタソリューションズ株式会社 | 固体撮像素子およびその駆動方法、並びに電子機器 |
JP2020529159A (ja) * | 2017-07-27 | 2020-10-01 | レイセオン カンパニー | 多重化高ダイナミックレンジ画像 |
JP7077395B2 (ja) | 2017-07-27 | 2022-05-30 | レイセオン カンパニー | 多重化高ダイナミックレンジ画像 |
WO2020070994A1 (ja) * | 2018-10-01 | 2020-04-09 | 株式会社テックイデア | イメージセンサ |
US11758304B2 (en) | 2018-10-01 | 2023-09-12 | Tech Idea Co., Ltd. | Image sensor |
CN112654952A (zh) * | 2018-12-25 | 2021-04-13 | 株式会社和冠 | 输入系统 |
US12014001B2 (en) | 2018-12-25 | 2024-06-18 | Wacom Co., Ltd. | Input system |
CN112654952B (zh) * | 2018-12-25 | 2024-08-13 | 株式会社和冠 | 输入系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8311282B2 (en) | Image processing apparatus, image processing method, and program | |
US8848063B2 (en) | Image processing including image correction | |
US8830360B1 (en) | Method and apparatus for optimizing image quality based on scene content | |
US8384805B2 (en) | Image processing device, method, and computer-readable medium for executing pixel value correction in a synthesized image | |
US9055217B2 (en) | Image compositing apparatus, image compositing method and program recording device | |
JP6020199B2 (ja) | 画像処理装置、方法、及びプログラム、並びに撮像装置 | |
US7852374B2 (en) | Image-pickup and associated methodology of dividing an exposure-time period into a plurality of exposures | |
KR100768057B1 (ko) | 반도체 집적 장치 및 이미지 센서의 흑 레벨 보정 방법 | |
KR101614914B1 (ko) | 모션 적응적 고대비 영상 획득 장치 및 방법 | |
JP5744614B2 (ja) | 画像処理装置、画像処理方法、および、画像処理プログラム | |
US20110279693A1 (en) | Image capturing apparatus and camera shake correction method, and computer-readable medium | |
US20120062694A1 (en) | Imaging apparatus, imaging method, and program | |
WO2017090300A1 (ja) | 画像処理装置、および画像処理方法、ならびにプログラム | |
WO2014065055A1 (ja) | 画像処理装置、および画像処理方法、並びにプログラム | |
JP2012235332A (ja) | 撮像装置、および撮像装置制御方法、並びにプログラム | |
WO2014027511A1 (ja) | 画像処理装置、および画像処理方法、並びにプログラム | |
KR20140032318A (ko) | 노출 조건을 주기적으로 변화시키는 촬상장치, 촬상장치의 제어방법, 및 기억매체 | |
JP6678376B2 (ja) | 動き検出装置および動き検出方法 | |
US9589339B2 (en) | Image processing apparatus and control method therefor | |
US11064129B2 (en) | Image processing apparatus, image processing method, imaging apparatus, and program | |
WO2014027551A1 (ja) | 画像処理装置、および画像処理方法、並びにプログラム | |
JP6227935B2 (ja) | 画像処理装置および画像処理方法 | |
JP2012049603A (ja) | 画像処理装置および画像処理プログラム | |
JP2012068733A (ja) | 画像処理装置および画像処理プログラム | |
JP2017199995A (ja) | 画像処理装置、撮像装置、画像処理方法、および、プログラム |
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: 13848412 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13848412 Country of ref document: EP Kind code of ref document: A1 |