Apparatus, method, and program for processing image
An image processing apparatus includes a correction parameter calculation unit for calculating a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data, and a motion blur correction processing unit for correcting a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter.
Latest Sony Corporation Patents:
- POROUS CARBON MATERIAL COMPOSITES AND THEIR PRODUCTION PROCESS, ADSORBENTS, COSMETICS, PURIFICATION AGENTS, AND COMPOSITE PHOTOCATALYST MATERIALS
- POSITIONING APPARATUS, POSITIONING METHOD, AND PROGRAM
- Electronic device and method for spatial synchronization of videos
- Surgical support system, data processing apparatus and method
- Information processing apparatus for responding to finger and hand operation inputs
1. Field of the Invention
The present invention relates to an apparatus, method and program for processing an image and, in particular, to an image processing technique for obtaining a high-quality image taking into consideration a motion image blur on the image.
2. Description of the Related Art
When a moving image taken at a high-speed shutter or an animation is displayed on a display device such as a projector or a display, the motion of a moving object contained in an image can be displayed in a discontinued fashion. This leads to frequent image degradation in which a user sees multiple images of the moving object. The degradation of the moving image due to motion unnaturalness is generally referred to as motion jerkiness. On the other hand, when a moving image taken at a low-speed shutter such as with an open shutter is displayed, the image of an object may lack detail or an edge of the image becomes blurred because of the effect of motion blur. This phenomenon is referred to as motion blur, which is also one of the image degradations.
The principle of the generation of jerkiness and blur is described with reference to
If the moving object 72 is tracked by the viewer in (a) tracking vision as illustrated in
A moving object in the real world in
When the display moving object 82 displayed on the display device is viewed by the viewer in (a) tracking vision as illustrated in
When the display moving object 82 displayed on the display device is viewed by the viewer in (b) fixed vision as illustrated in
The viewer thus views a single object as multiple objects. This phenomenon is called jerkiness. In principle, an object moving at a high speed suffers more from jerkiness. The lower the frame rate of the display device, the more jerkiness takes place, and the higher the frame rate, the less jerkiness takes place. Furthermore, jerkiness takes place more in a portion of an image where a change in spatial luminance is large, i.e., where a spatial contrast is high.
When the display moving object 92 displayed on the display device is viewed by the viewer in (b) fixed vision as illustrated in
When the display moving object 92 displayed on the display device is viewed by the viewer in tracking vision, an image a92 looks to the viewer as a blurred image as illustrated in
In principle, there is a trade-off between jerkiness and blur with respect to the imaging shutter speed. Mere shutter control causes either the degradation of jerkiness or the degradation of blur to be pronounced. More specifically, if an image taken at a relatively high shutter speed with respect to the frame rate of the moving image is displayed as a still image, high sharpness is provided. If the image is displayed as a moving image, the motion of a moving area within the image, in particular, a moving area at a high speed is not smooth. Such an image looks unnatural to the vision of humans. If an image taken at a relatively low shutter speed with respect to the frame rate of the moving image is displayed as a moving image, high sharpness is provided. If the image is displayed as a moving image, the motion of a high-speed moving area within the image is smooth, but the entire image lacks sharpness.
Japanese Unexamined Patent Application Publication No. 2007-274299 (WO07/114220), assigned to the same assignee of the present invention, discloses a jerkiness reducing technique intended to be used on an image taken at a high shutter speed. In accordance with the disclosed technique, a motion blur is added through image processing. An added amount of motion blur is controlled through analysis of image processing so that the excessive addition of the motion blur does not cause blur degradation. A technical approach of reducing the motion blur through image processing performed mainly on an input image taken at a low shutter speed is widely studied. For example, image processing techniques for correcting blur of an image include mainly an inverse convolution technique based on a blur model, and a technique not using no blur model, such as a peaking technique or a shock filter technique. For example, the technique disclosed in the paper entitled “Extension of Coupled Nonlinear Diffusion to Motion De-blurring—Introduction of Anisotropic Peaking,” Takahiro SAITO, Hiroyuki HARADA, and Takashi KOMATSU, The Institute of Image Information and Television Engineers Vol. 58, No. 12 pp. 1839-1844 (2004) is related to the blur-model-based inverse convolution technique as motion blur reduction means. The technique disclosed in the paper entitled “Motion De-blurring Using a Blur Model,” Takahiro SAITO, Hiroyuki HARADA, Taishi SANO, and Takashi KOMATSU, The Institute of Image Information and Television Engineers Vol. 59, No. 11, pp. 1714-1721 (2005) is related to the technique not using no blur model as motion blur reduction means.
SUMMARY OF THE INVENTIONAs described above, there is a trade-off between jerkiness and blur with respect to the imaging shutter speed. Mere shutter control causes either jerkiness or blur to be pronounced.
It is thus desirable to provide an image processing technique appropriately responding to the causes of the above-described image degradations and adaptively applied to jerkiness and blur to control jerkiness and blur degradations.
In accordance with one embodiment of the present invention, an image processing apparatus includes correction parameter calculation means for calculating a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data, and motion blur correction processing means for correcting a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter.
The motion blur correction processing means may perform a process of adding a motion blur on the image data and the process of reducing a motion blur in accordance with the motion blur correction parameter.
The image processing apparatus may further include shutter speed estimation processing means for estimating shutter speed information by analyzing the image data, wherein the correction parameter calculation means uses the shutter speed information estimated by the shutter speed estimation processing means in order to calculate the motion blur correction parameter.
The motion blur correction processing means may adaptively select in response to each partition area of the image data one of the process of adding the motion blur and the process of reducing the motion blur on the image data, in accordance with the motion blur correction parameter.
The motion blur correction processing means may perform on the image separately the process of adding the motion blur and the process of reducing the motion blur, and select between data resulting from the process of adding the motion blur and data resulting from the process of reducing the motion blur in accordance with the motion blur correction parameter as data to be adaptively output for each partition area of the image data.
The image processing apparatus may further include motion vector generating means for generating from the image data a motion vector as the motion information.
The shutter speed estimation processing means may include a motion blur characteristic analyzer for extracting a shutter speed calculation parameter by analyzing motion blur characteristics contained in a target area of the image data, and an imaging shutter speed calculator for calculating the shutter speed at the image capturing of the image data.
The shutter speed estimation processing means may further include a process target area selector for extracting and identifying from the unit image forming the image data the target area of the analysis process of the motion blur characteristic analyzer.
The image processing apparatus may further include motion vector generating means for generating from the image data a motion vector as the motion information. The process target area selector in the shutter speed estimation processing means identifies the target area using edge information of the image data, and the motion vector generated by the motion vector generating means.
The shutter speed estimation processing means may further include an imaging shutter speed accuracy enhancement processor. The motion blur characteristic analyzer extracts the shutter speed calculation parameters of a plurality of target areas. The imaging shutter speed calculator calculates a plurality of shutter speeds using the shutter speed calculation parameters of the plurality of target areas and the motion information of the respective target areas. The imaging shutter speed accuracy enhancement processor estimates an imaging shutter speed using calculation results of the plurality of shutter speeds.
The shutter speed estimation processing means may estimate the shutter speed once within a period from the detection of a scene change to the detection of a next scene change in the input image data, and hold the estimated shutter speed within the period.
The shutter speed estimation processing means may include an imaging shutter speed accuracy enhancement processor. The imaging shutter speed accuracy enhancement processor estimates the shutter speed by a plurality of times within a period from the detection of a scene change to the detection of a next scene change in the input image data, and estimates an imaging shutter speed on the basis of the calculation results of the plurality shutter speeds estimated.
The correction parameter calculation means may acquire an optimum shutter speed corresponding to a speed of an object from each partition area of the image data by referencing mapping information mapping the object speed to an imaging shutter speed at which image quality degradation of an output image is reduced, and calculate the motion blur correction parameter as selection control information for selecting between a process of adding a motion blur and a process of reducing a motion blur on the image data by comparing information regarding an input imaging shutter speed with the optimum shutter speed. The motion blur correction processing means may selectively perform on the image data the process of adding the motion blur and the process of reducing the motion blur in accordance with the motion blur correction parameter.
The correction parameter calculation means may acquire an optimum shutter speed corresponding to a speed of an object from each partition area of the image data by referencing mapping information mapping the object speed to an imaging shutter speed at which image quality degradation of an output image is reduced, and calculate the motion blur correction parameter as selection control information for selecting between a process of adding a motion blur and a process of reducing a motion blur on the image data by comparing information regarding an input imaging shutter speed with the optimum shutter speed. The motion blur correction processing means may perform on the image separately the process of adding the motion blur and the process of reducing the motion blur, and select between data resulting from the process of adding the motion blur and data resulting from the process of reducing the motion blur in accordance with the motion blur correction parameter as data to be adaptively output for each partition area of the image data.
The correction parameter calculation means may calculate the motion blur correction parameter indicating one of the degree of addition of the motion blur and the degree of reduction of the motion blur, respectively used by the motion blur correction processing means in the process of adding the motion blur and the process of reducing the motion blur on the image data.
The motion blur correction parameter indicating one of the degree of addition of the motion blur and the degree of reduction of the motion blur may include one of an imaging shutter speed and a difference between the imaging shutter speed and an optimum shutter speed.
The motion blur correction parameter indicating one of the degree of addition of the motion blur and the degree of reduction of the motion blur may include movement speed information of a partition area.
In accordance with another embodiment of the present invention, an image processing method includes the steps of calculating a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data, and correcting a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter.
In accordance with yet another embodiment of the present invention, a program causes a computer to perform an image processing method. The image processing method includes the steps of calculating a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data, and correcting a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter.
FIGS. 10A1 through 10C2 illustrate the motion blur length in accordance with one embodiment of the present invention;
The embodiments of the present invention are described below with reference to the drawings.
First through third basic structures of image processing apparatuses of embodiments of the present invention are described below. The present invention is not limited to the three basic structures described below.
An image processing apparatus of one embodiment of the present invention is intended to generate an image with jerkiness and blur thereof reduced through image processing. If a moving image taken at simple shutter control is displayed on a display device, that moving image may look unnatural due to human vision characteristics with either jerkiness or blur pronounced. In accordance with one embodiment of the present invention, the generation of jerkiness is reduced by adding a motion blur to a high-speed shutter captured image in accordance with information regarding a shutter speed used at the capturing of an input image. If a low-speed shutter captured image is input, a process of reducing a motion blur is performed in order to reduce a blur degradation. More specifically, two processes (of adding and reducing a motion blur) are adaptively performed in response to conditions of an input image signal, and the relationship between a shutter speed used at the image capturing and a movement speed of an object. Both the jerkiness degradation and blur degradation are thus controlled. A high-quality image process is performed by generating an image signal with less image degradation and outputting the high-quality image.
The image processing apparatus 1 includes an image acquisition unit 11, a motion blur correction parameter calculator 12, and a motion blur correction processor 13. The image acquisition unit 11 acquires image data into the image processing apparatus 1. The motion blur correction parameter calculator 12 sets a parameter for correcting a motion blur on the image acquired by the image acquisition unit 11. The motion blur correction processor 13 performs a motion blur correction process on the image data acquired by the image acquisition unit 11.
The motion blur correction parameter calculator 12 receives motion information of the image data acquired by the image acquisition unit 11, and shutter speed information indicating an exposure time of each frame when the image data is captured. The motion blur correction parameter calculator 12 calculates from these pieces of input information an optimum parameter for correcting the motion blur of the acquired image data on a per partition area basis in each frame of the image data, and then supplies the calculated optimum parameter to the motion blur correction processor 13. As illustrated in
The motion blur correction processor 13 corrects a quantity of motion blur of the image data, using the motion blur correction parameter calculated by the motion blur correction parameter calculator 12 and then externally outputs the motion blur corrected image data from within the image processing apparatus 1. The motion blur correction processor 13 includes a sorting unit 31, a motion blur reduction processor 32, a motion blur addition processor 33, and a synthesizer 34.
The sorting unit 31 outputs the image data of each of the partition areas #1-#m of the input image data to one of the motion blur reduction processor 32 and the motion blur addition processor 33, depending on whether the motion blur quantity of the partition area is to be reduced or increased. The motion blur reduction processor 32 performs a process of reducing the motion blur quantity of the corresponding area of the input image data. The motion blur addition processor 33 performs a process of increasing the motion blur quantity of the corresponding area of the input image data. If motion blur correction is not using in a given partition area, the sorting unit 31 outputs the image data of that partition area to the synthesizer 34. Optionally, if motion blur correction is not using, the motion blur reduction processor 32 and the motion blur addition processor 33 may perform the processes thereof in a setting with a correction motion blur quantity set to zero.
The synthesizer 34 performs a synthesis process, synthesizing, as a frame image, the image data of each partition area, corrected by one of the motion blur reduction processor 32 and the motion blur addition processor 33, and the image data of a partition area having undergone no correction.
The sorting unit 31 in the motion blur correction processor 13 receives the motion blur correction parameter calculated by the motion blur correction parameter calculator 12. The motion blur correction parameter is calculated for each of the partition areas in each frame of the image data, and contains information regarding the motion blur correction process to be performed on a partition area being currently set as a process target of the image data. The motion blur correction process of the motion blur correction processor 13 includes performing one of a process of reducing the motion blur (de-blur process) in the area where the blur degradation is likely, and a process of adding the motion blur (ad-blur process) in the area where an insufficient motion blur, i.e., a jerkiness degradation is likely. The sorting unit 31 sorts the image data of each partition area in response to the motion blur correction parameter. More specifically, the sorting unit 31 outputs the image data of the partition area that is to be de-blurred to the motion blur reduction processor 32 and the image data of the partition area that is to be ad-blurred to the motion blur addition processor 33.
The image data output to one of the motion blur reduction processor 32 and the motion blur addition processor 33 thus undergoes the optimum motion blur correction process in order to reduce both the jerkiness degradation and the blur degradation. The image data having undergone the optimum motion blur correction process is supplied to the synthesizer 34. The areas of the image data having undergone the motion blur correction process are synthesized by the synthesizer 34 and the resulting image data is thus output. The motion blur correction processor 13 outputs a moving image signal with the jerkiness degradation and blur degradation thereof reduced.
In one embodiment of the present invention, the image processing apparatus may perform only the correction process of the motion blur reduction processor 32 with the motion blur addition processor 33 eliminated from the motion blur correction processor 13. Alternatively, only the motion blur addition processor 33 performs the correction process with the motion blur reduction processor 32 eliminated from the motion blur correction processor 13. In such a case, however, one of the jerkiness degradation and the blur degradation might persist. For example, if only the de-blur process is performed, the jerkiness degradation may not be reduced in response to the image data that has been captured at a high shutter speed. Conversely, if only the ad-blur process is performed, the blur degradation occurring in the area where an object is moving may not be reduced in response to the image data that has been captured at a low shutter speed.
A combination of the de-blur process and the ad-blur process in the structure of
The image processing apparatus 2 having the second structure analyzes an input image signal through image processing, thereby estimating a shutter speed at the image capturing of the image signal.
The shutter speed estimation processor 14 receives the image data, which is also acquired by the image acquisition unit 11, and the motion information of the image data. The shutter speed estimation processor 14 performs image processing in order to analyze the input image data, and thus estimates the shutter speed information indicating the exposure time of each frame at the image capturing of the image data. The estimated shutter speed information is output to the motion blur correction parameter calculator 12. The process performed by the motion blur correction parameter calculator 12 and the motion blur correction processor 13 is identical to the process of the counterparts in the image processing apparatus 1 illustrated in
The jerkiness degradation and the blur degradation typically take place in the displayed image, causing the image of the image data to look unnatural to the eyes of humans. The image processing apparatus 2 thus constructed analyzes the image data using the motion information of the image data affecting the jerkiness degradation and the blur degradation. The image processing apparatus 2 estimates the information of the shutter speed at the image capturing of the image data, and corrects the motion blur of the image data adaptively in response to the estimated shutter speed information. The image processing apparatus 2 thus reduces both the jerkiness degradation and the blur degradation.
The selector and synthesizer 35 receives from the motion blur reduction processor 32 the image data at all the partition areas that have undergone the motion de-blur process. The selector and synthesizer 35 receives from the motion blur addition processor 33 the image data at all the partition areas that have undergone the motion ad-blur process. The selector and synthesizer 35 also receives the input image data (image data not motion blur corrected). In response to the motion blur correction parameter, the selector and synthesizer 35 selects the motion blur reduced data, the motion blur added data, or the uncorrected data. The selector and synthesizer 35 synthesizes the selected data at each partition area, thereby generating and outputting the image data of one frame. Prior to the correction process, the sorting unit 31 in each of the first and second basic structures selects the correction process to be performed. In contrast in the third basic structure illustrated in
In one option, the image processing apparatus 3 illustrated in
The image processing apparatus 2 having the second basic structure in accordance with one embodiment of the present invention is described further in detail. The image processing apparatus 1 having the first basic structure can be considered to be a particular version of the image processing apparatus 2 in which the imaging shutter speed information is available. The discussion that follows focuses on the image processing apparatus 2. The image processing apparatus 1 is also considered to be a particular version of the image processing apparatus, discussed with reference to
Referring to
The receiving processor 110, the reading processor 120, the decoding processor 130, and the motion vector generation processor 140, enclosed in an dot-and-dash chain lined box, correspond to the image acquisition unit 11 in the third basic structure illustrated in
Referring to
The image reproducing apparatus 100 may have at least one of the receiving processor 110 and the reading processor 120 to perform an image data retrieval function for retrieving an image from the outside. In addition to the image data retrieval function, the image reproducing apparatus 100 may acquire the shutter speed information contained as metadata of the image data. In such a case, the image reproducing apparatus 100 becomes similar to the image processing apparatus 1 having the first basic structure, and does not use the shutter speed estimation processor 150 for estimating the shutter speed SSD at the image capturing.
The decoding processor 130 decodes the image data retrieved from one of the receiving processor 110 and the reading processor 120. The decoding processor 130 then supplies the decoded image data DD to each of the motion vector generation processor 140, the shutter speed estimation processor 150, and the motion blur correction processor 160. When the decoded image data DD is processed as a still image, the decoding processor 130 supplies the decoded image data DD to the still image display output unit 180 only, and is free from handling the image data as a moving image.
The motion vector generation processor 140 generates the motion vector VD as the motion information of the decoded image data DD from the decoded image data DD supplied from the decoding processor 130. The motion vector herein is information representing a position of a moving image between frames and a movement direction of the moving image. The motion vector can be generated by pixel to acquire the motion information of a moving object at a high accuracy level. The motion vector generation processor 140 of one embodiment of the present invention generates the motion vector by pixel block to reduce the calculation load on the process. The frame image is here divided into a plurality of pixel blocks.
The image data encoded in accordance with the MPEG standard or the like contains a motion vector as encoding information. In accordance with one embodiment of the present invention, the use of the motion vector as the encoding information is possible and useful from the standpoint of the reduction of workload. The motion vector for encoding serves as information to encode primarily a moving image. The encoding process is performed in combination with residual information or the like in addition to the motion vector, and the motion vector does not necessarily faithfully represent a value responsive to a motion of an actual moving object over the entire image. In accordance with one embodiment of the present invention, the motion vector generation processor 140 detects accurately a motion vector responsive to a motion of an actual moving object in a decoded image through a process step to be discussed later. The motion vector generation processor 140 thus adds a motion blur faithful to the motion of the actual moving object.
The shutter speed estimation processor 150 estimates the shutter speed SSD at the image capturing of the image data from the decoded image data DD supplied from the decoding processor 130. The shutter speed estimation process is performed as a process in which the motion vector VD supplied from the motion vector generation processor 140 is used as will be described later. The shutter speed information here is information related to a shutter speed that affects a motion blur to be added to the captured image of the image data. More specifically, the shutter speed information represents an exposure time of unit image taken when an imaging apparatus having a shutter function captures the image data. The shutter function may be performed by one of an electronic shutter controlling a drive time of an imaging element, a mechanical shutter that allows light to pass through a lens to the imaging element by opening a closing mechanism for an exposure time, and a liquid-crystal shutter that allows light to pass through a lens to an imaging element by controlling the transmittance ratio of a liquid-crystal element for an exposure time in the imaging apparatus.
In a process to be specifically discussed later, the motion blur correction parameter calculator 170 calculates the motion blur correction parameter in accordance with the shutter speed SSD supplied from the shutter speed estimation processor 150, and the motion vector VD supplied from the motion vector generation processor 140, and then supplies the calculated motion blur correction parameter to the motion blur correction processor 160.
In a process to be specifically discussed later, the motion blur correction processor 160 performs the motion blur correction process based on the decoded image data DD supplied from the decoding processor 130 and the motion blur correction parameter supplied from the motion blur correction parameter calculator 170. The motion blur correction process may be interpreted as a process to convert the partition areas of the decoded image data DD into a pseudo image that is captured at an optimum shutter speed. The optimum shutter speed is intended to reduce the generation of jerkiness and blur in response to a movement speed of each partition area contained in the motion vector VD. In this case, the motion blur correction processor 160 references the shutter speed SSD of an input image signal prior to the conversion operation. If the optimum shutter speed in each partition area is lower than the shutter speed SSD, the motion blur correction processor 160 performs the motion ad-blur process. Conversely, if the optimum shutter speed in each partition area is higher than the shutter speed SSD, the motion blur correction processor 160 performs the motion de-blur process. The motion blur correction processor 160 synthesizes images having respectively converted partition areas into one frame, thereby generating an output image signal OD. The output image signal OD is output to the moving image display output unit 190.
The moving image display output unit 190 outputs to a display device such as a liquid-crystal display (LCD) a moving image that has been motion blur corrected with the jerkiness degradation and the blur degradation reduced by the motion blur correction processor 160. The still image display output unit 180 outputs to the display device such as the LCD the decoded image data DD received from the decoding processor 130 as a still image.
The elements illustrated in
The motion vector detector 141 detects a motion vector from a process target frame and an immediately preceding frame. The pixel block identification processor 142 identifies a pixel block having a high correlation by comparing the motion vector of the process target frame with the motion vector of the immediately preceding fame on a per pixel block basis. The motion vector estimation processor 143 estimates the motion vector of a pixel block other than the pixel block identified by the pixel block identification processor 142, based on the motion vector of the pixel block identified by the pixel block identification processor 142. The motion vector smoothing processor 144 performs a smoothing process on the motion vector.
The decoded image data DD supplied from the decoding processor 130 is supplied to the motion vector detector 141, and the delay unit 141a delaying the decoded image data DD by one frame. The motion vector detector 141 sets the decoded image data DD supplied from the decoding processor 130 as a process target frame. The motion vector detector 141 then detects the motion vector of each process target frame on a per pixel block basis based on the process target frame and the immediately preceding frame that is delayed by one frame by the delay unit 141a. If the process of the motion vector detector 141 is implemented in software, the motion vector may be detected on a pixel block basis using a typically available block matching method.
The motion vector detected by the motion vector detector 141 is supplied to the pixel block identification processor 142 and the delay unit 142a. The delay unit 142a delays the input motion vector by one frame. On a per pixel block basis, the pixel block identification processor 142 compares the motion vector of the process target frame supplied from the motion vector detector 141 with the motion vector of the immediately preceding frame delayed by the delay unit 142a as described below. From the comparison results, the pixel block identification processor 142 identifies a pixel block having a high correlation.
More specifically, the pixel block identification processor 142 calculates a vector correlation coefficient σ of that pixel block in accordance with the following equation (1).
where let (x,y) represent the motion vector of one pixel block of the process target frame, (x′,y′) represent the motion vector of a pixel block of the immediately preceding frame corresponding to the first block, and α represent any correlation determination coefficient.
The correlation determination coefficient α has a range of 0<α<1. The larger the correlation determination coefficient α, the more the calculated vector correlation coefficient σ is likely to be 1.
The pixel block identification processor 142 calculates the vector correlation coefficient σ of each pixel block in accordance with equation (1), and identifies a pixel block having 1 for the vector correlation coefficient σ as a motion vector having a high correlation.
The motion vector estimation processor 143 estimates, from the motion vector of the pixel block determined as having a vector correlation coefficient σ of 1 by the pixel block identification processor 142, a motion vector of a pixel block having a vector correlation coefficient σ of 0. On the premise that the pixel block determined as having a vector correlation coefficient σ of 1 by the pixel block identification processor 142 has an effective motion vector, the motion vector estimation processor 143 updates the motion vector of another pixel block, i.e., a pixel block having the vector correlation coefficient σ thereof being zero and thus determined as having an ineffective motion vector.
The process of the motion vector estimation processor 143 is specifically described with reference to
In step S2, the motion vector estimation processor 143 determines on the target pixel block whether a surrounding pixel block having an effective motion vector is present around the target pixel block. More specifically, the motion vector estimation processor 143 determines eight pixel blocks next to the target pixel block as surrounding pixel blocks contain an effective motion vector. If an effective motion vector is present, the motion vector estimation processor 143 proceeds to step S3. If there is not any effective motion vector, the motion vector estimation processor 143 does not update the motion vector of the target pixel block, and ends the process thereof.
Because of the following reasons, the estimation process is not performed on the surrounding blocks present within a larger area with respect to the target pixel block having no effective motion vector. Firstly, the estimation process can be performed on the surrounding blocks present within a larger area at any rate. However, if the estimation process is performed on the surrounding blocks present within a larger area, a storage area storing temporarily the image data handled as the surrounding blocks is increased in capacity to complete the process within a fixed time. Secondly, in the later portion of the process of
In step 33, the motion vector estimation processor 143 estimates and updates the motion vector of the target pixel block based on the motion vectors of the surrounding pixel blocks having the effective motion vectors. The motion vector estimation processor 143 thus ends the process. In one example of the estimation process, the motion vector estimation processor 143 includes a median filter. The median filter receives the motion vectors of the surrounding pixel blocks having the effective motion vectors, and outputs a smoothed motion vector of the surrounding pixel blocks.
The motion vector estimation processor 143 thus estimates the motion vector of the process target frame on a pixel block basis. The motion vector estimation processor 143 thus supplies the motion vectors including the motion vector identified by the pixel block identification processor 142 to the motion vector smoothing processor 144.
The motion vector smoothing processor 144 performs a smoothing process on the motion vectors of the pixel blocks forming a process target image. More specifically, the motion vector smoothing processor 144 receives as an input I(x+i,y+j) the motion vector of the target pixel block prior to the smoothing process, and the motion vector of a surrounding pixel blocks larger than in area than the above-described adjacent pixel blocks, and outputs a motion vector J(x,y) of the target pixel block that has smoothed through a Gaussian function described in the following equation (2):
where r represents a distance in a two-dimensional space between the target pixel block and each surrounding pixel block, σ2 represents a variance of the distance r, and t2 represents a variance of the motion vector. More specifically, σ2 and t2 are parameters to any values representing the degree of smoothing.
The motion vector smoothing processor 144 performs the above-described smoothing process on each pixel block forming the process target frame, and outputs the resulting motion vector VD to the motion blur correction parameter calculator 170.
The motion vector smoothing processor 144 identifies a pixel block having an effective motion vector from pixel blocks forming the process target frame, and estimates another motion vector from the effective motion vector. The motion vector smoothing processor 144 can generate the motion vector responsive to the motion of an actual moving object. In the motion vector generation processor 140, the motion vector detected by the motion vector detector 141 may be supplied to the motion vector smoothing processor 144 in the smoothing process with the pixel block identification processor 142 and the motion vector estimation processor 143 skipped. Even in such a process, the motion vector generation processor 140 can provide a more accurate motion vector responsive to the motion of the moving object than when the above-described encoding information is used as the motion vector.
The specific structure of the shutter speed estimation processor 150 is described below with reference to
The decoded image data DD and the motion vector VD, input to the shutter speed estimation processor 150, are first received by the process target area selector 151. The process target area selector 151 selects a process target frame on which image analysis is to be performed in order to calculate the shutter speed. The process target area selector 151 also selects a target area within the selected frame. The process target area selector 151 then outputs the image data as a selected target area DDT and a motion vector VDT responsive to the target area DDT to subsequent stages. As will be described later, the target area DDT refers to the image data at an area that is extracted as a target of the shutter speed estimation process within one frame. The process target area selector 151 detects a scene change from the decoded image data DD input as a moving image, and then outputs the scene change detection signal SCD to the imaging shutter speed accuracy enhancement processor 154.
The process target area DDT is input to the motion blur characteristic analyzer 152. The motion blur characteristic analyzer 152 performs an image analysis process on the image data as the process target area DDT (i.e., image data that is within a pixel area serving as a process target area within one frame). The motion blur characteristic analyzer 152 calculates a “motion blur length L” generated in the process target area. The motion blur length L will be described later. The calculated motion blur length L is output to the imaging shutter speed calculator 153.
The imaging shutter speed calculator 153 calculates an estimation imaging shutter speed SSDT based on the value of the motion blur length L generated in the process target area DDT and the motion vector VDT responsive to the process target area. The estimation imaging shutter speed SSDT is an estimated value of the shutter speed at the image capturing. The calculated estimation imaging shutter speed SSDT is output to the imaging shutter speed accuracy enhancement processor 154. The imaging shutter speed accuracy enhancement processor 154 receives the estimation imaging shutter speeds SSDT estimated from a plurality of process target areas. In response to the values of these pieces of information, the imaging shutter speed accuracy enhancement processor 154 calculates a highly accurate, estimation imaging shutter speed SSD, and outputs the calculated estimation imaging shutter to the motion blur correction parameter calculator 170.
Motion blur characteristics serving as a basis of the process to be performed by the shutter speed estimation processor 150 are described before describing a process to be performed in each process block by the shutter speed estimation processor 150 of
The relationship of the generation of motion blur, the movement speed, and the imaging shutter speed are briefly described with reference to
An image signal labeled (i) in
FIGS. 10A1, 10B1 and 10C1 illustrate the relationship between the movement speed of the object and the motion blur length L. FIGS. 10A1, 10B1, and 10C1 illustrate the motion blur characteristics that are generated when the movement speed of the foreground in the upper portion of
Let A, B, and C represent the movement speeds of the foreground shown in FIGS. 10A1, 10B1, and 10C1, and the movement speeds are now related in magnitude as A:B:C=3:2:1. Referring to FIGS. 10A1, 10B1, and 10C1, the motion blur lengths L are also related as 3:2:1 because L=nine pixels in
FIGS. 10A2, 10B2, and 10C2 illustrate the relationship of the imaging shutter speed and the motion blur length L. FIGS. 10A2, 10B2, and 10C2 show the motion blur characteristics taking place when the shutter speed of the imaging apparatus is changed in the upper portion of
As described above, the motion blur length L is proportional to the movement speed of the object, and is also proportional to the imaging shutter speed.
Let L represent the motion blur length (pixels), V represent the movement speed of the object within the image signal (pixels/frame), S represent the imaging shutter speed (seconds), and F represent the frame rate of the moving image (frames/second), and the following equation (3) holds:
L=V×S×F (3)
In equation (3), VS is by the frame rate F because the movement speed V is an amount of distance within one frame period.
If the movement speed is 8 (pixels/frame), the imaging shutter speed is S=T in FIG. 10A2, the imaging shutter speed is S=T/2 in FIG. 10B2 and the imaging shutter speed is S=T/4 in FIG. 10A2, and the frame rate is F=1/T (T being a frame period (seconds)), the following relationship holds:
L=8×T×(1/T)=8 (pixels) in FIG. 10A2,
L=8×(T/2)×(1/T)=4 (pixels) in FIG. 10B2, and
L=8×T(T/4)×(1/T)=2 (pixels) in FIG. 10C2.
The determined motion blur lengths are thus equal to the motion blur lengths L in FIGS. 10A2, 10B2, and 10C2.
The relationship of the generation of motion blur, the movement speed and the imaging shutter speed has been discussed based on a simple example. Since the shutter speed estimation processor 150 is intended to estimate an unknown imaging shutter speed of an image, the above-described equation (3) is rearranged into equation (4):
S=L/(V×F) (4)
In accordance with equation (4), the movement speed V of a target area in the image, and the frame rate F are known. An unknown shutter speed S at the image capturing is obtained if the motion blur length L is obtained.
In the following discussion, the process of each element in one example of the shutter speed estimation processor 150 illustrated in
The decoded image data DD and the motion vector VD serving as the inputs to the shutter speed estimation processor 150 are first supplied to the process target area selector 151. The process target area selector 151 extracts an area (hereinafter referred to as a “target area”) as a target of the image analysis in the shutter speed estimation, and outputs the process target area DDT and the motion vector VDT responsive to the process target area DDT to the subsequent stage. The process target area selector 151 performs the extraction process on the premise that the extraction process is not necessarily performed on all the areas of the frame in the input moving image signal having an area where the motion blur takes place. Any method may be used to select the target area serving the target of the analysis process.
The reasons why no problem arises with the estimation of the imaging shutter speed performed in only the limited area are described below. The shutter speed at the image capturing is typically uniform within one frame image. Furthermore, a smaller number of target areas to be processed is advantageous in terms of process costs.
If the shutter speed estimation process is performed on one target area within the frame, no shutter speed estimation is necessary on the other areas. As long as process costs permit, performing the shutter speed estimation process within a plurality of extracted target areas is greatly useful from the standpoint of accuracy enhancement of the shutter speed estimation. In accordance with one embodiment, a process to be described later is performed in a plurality of target areas from within one frame, and the imaging shutter speed SSD is estimated from a plurality of obtained results. If a plurality of shutter speeds are obtained, a process of increasing reliability is carried out by the subsequent stage, i.e., the imaging shutter speed accuracy enhancement processor 154. Such a process will be described later.
A method of selecting a target area of the analysis process from a given frame of the decoded image data DD is not limited to any one method. The target area is preferably in the vicinity of a border outline edge of an object illustrated in FIGS. 9 and 10A1 through 10C2 in order to perform effectively the analysis process of the motion blur characteristics to be discussed in detail later. If the movement speed of a given area is zero, no motion blur takes place in that area. In the selection of the target area, movement speed information may be used so that an area having a predetermined movement speed is selected as a target area. If the direction of an edge is approximately perpendicular to the direction of the movement speed, the analysis process of the generated motion blur is easily performed. In summary, the area to be selected has a certain degree of movement speed, and is a target area close to the edge as perpendicular as possible to the direction of the movement speed.
When an analysis process is performed in the image processing, pixels are preferably picked up in a scan line direction in view of the process costs. The target area is thus conveniently extracted from a region close to a vertical edge having a horizontal movement speed. When the target area is selected, a motion blur characteristic analysis process to be discussed in detail later is performed along one line rather than across a plurality of lines. Focusing on the region close to the vertical edge having a horizontal movement speed, the use of only a sufficient number of pixels in a horizontal direction with respect to the movement speed serves the purpose of the motion blur characteristic analysis process to be discussed later.
The discussion heretofore is related to the selection process in one frame. No problem arises even if the selection process is not performed on the entire region of one frame. Likewise, it is not necessary to select all the target areas in the frame. This is because the moving image forming a plurality of frames typically has an imaging shutter speed remaining unchanged at least until a frame in which a scene change takes place. The imaging shutter speed estimated through analysis of one frame can be held at the value thereof until a next scene change is detected.
It suffices if the shutter speed estimation process is performed at least in one given frame within a period from the detection of a scene change to the detection of a next scene change. However, it is acceptable that a plurality of target areas are detected from within one frame, and that the shutter speed estimation process is performed in each of the target areas. Likewise, performing the shutter speed estimation process in a plurality of frames is particularly useful as long as process costs permit. This enhances the accuracy level of shutter speed estimation. The imaging shutter speed accuracy enhancement processor 154 performs a reliability enhancing process if a plurality of different shutter speed values are estimated.
A target area selection process of the process target area selector 151 is specifically described with reference to
Referring to
The vertical direction edge detector 1511 performs an edge detection process on each area within the frame of input decoded image data DD. In this case, only a vertical edge may be extracted using a direction selective mask process of the Sobel filter or the like. The input image data at an area determined as a vertical edge is output, as is, to the target area determiner 1513. An area not determined as a vertical edge is output to the target area determiner 1513 with all the pixel signals within that area set to “0.” A motion vector VD is input to the horizontal direction movement speed threshold value processor 1512. To select an area having a horizontal speed equal to or higher than the constant value, a horizontal component of the motion vector of each area, represented by a horizontal component VDx, is objected to a threshold value process. If the horizontal component VDx is larger than a predetermined threshold value TH (VDx>TH), the motion vector signal of the input area is output as is to the target area determiner 1513. If the horizontal component VDx is equal to or lower than the threshold value TH (VDx≦TH), all the motion vectors of the areas are set to “0,” and then output to the target area determiner 1513.
The target area determiner 1513 determines that the area is a target of the shutter speed estimation process only if both the image data and the motion vector of the input area are not zero. Only in this case, the area is determined as the process target area DDT. As previously described, the process target area DDT is the image data of the area that is determined as a target. The target area determiner 1513 outputs the process target area DDT to the motion blur characteristic analyzer 152, and the motion vector VDT of the area to the imaging shutter speed calculator 153.
Each frame of the decoded image data DD input to the process target area selector 151 is supplied to the scene change detector 1514. The scene change detector 1514 performs a scene change detection process. Any scene change detection technique may be used. For example, the scene change detection technique disclosed in Japanese Unexamined Patent Application Publication No. 2004-282318 may be used. When a scene change is detected, the scene change detector 1514 outputs a scene change detection signal SCD to the imaging shutter speed accuracy enhancement processor 154.
As described above, the process target area selector 151 identifies the process target area DDT, and then outputs the process target area DDT to the motion blur characteristic analyzer 152. The process target area selector 151 also extracts the motion vector VDT responsive to the position of the process target area DDT and outputs the motion vector VDT to the imaging shutter speed calculator 153. The process of the motion blur characteristic analyzer 152 is described below. The analysis of the motion blur characteristics is a process of estimating the motion blur length L of the motion blur (see (ii) low speed shutter image in
Several methods are contemplated to determine the motion blur length L. Two main types of the method of determining the motion blur length L are described here. In a first method, the motion blur length L is estimated by defining a mathematical model of motion blur and finding a parameter in the mathematical model minimizing an error function to a motion blur occurring in an actual image signal. In a second method, the motion blur length L is estimated by matching a motion blur sample pattern prepared beforehand to a motion blur actually taking place in an image signal.
One example of the first method is described first. The motion blur length L is estimated by expressing in a mathematical model a luminance value close to an edge affected by a motion blur as disclosed in the paper entitled “Photometric Registration Based on Defocus and Motion Blur Estimation for Augmented Reality,” Bunyo OKUMURA, Masayuki KANBARA, and Naokazu YOKOYA, The Institute of Electronics, Information and Communication Engineers, D Vol. J90-D No. 8 pp. 2126-2136. In accordance with the disclosed technique, let coordinates p represent each pixel in the vicinity of an edge and p0 represent coordinates (unknown) of a center position of a blur occurring in the vicinity of the edge, and variable t is expressed in the following equation (5):
t=2*(p−p0)/L (5)
where the center position coordinates P0 is illustrated in (ii) low-speed shutter image in
Using equation (5), function g(t) simulating the motion blur characteristics in the vicinity of the edge is defined as equation (6):
To compare with the actual motion blur, the following equation (7) is used:
The luminance Bf of the foreground and the luminance Bb of the background in (ii) low-speed shutter image in
Pixel coordinates p in the vicinity of the edge are substituted in equation (5), and parameters L, p0, Bf, and Bb minimizing a distance function to the value of the actual motion blur are found from equations (5), (6) and (7). The motion blur length L is thus estimated. To search for the four unknowns minimizing the distance function, a numerical analysis method such as quasi-Newton method may be used. The distance function is typically a comparison of squared values of differences, each between pixel values of an actual image and a function f, or a comparison of the linear sum of the absolute values of the differences, each between pixel values of an actual image and a function f. Taking into consideration imaging conditions, such as an optical low-pass filter and focus, as in equation (6), a function simulating a dominant motion blur characteristic is defined. The function may be a simple discontinuous function such as the one of (ii) low-speed shutter image signal in
In a second method, the motion blur length L is estimated from a spatial frequency component in a target area in the vicinity of an edge selected as a target in the image signal as described above. As described with reference to
As illustrated in
The above-described estimation method of the motion blur length L of matching the motion blur sample pattern to the motion blur actually taking place in the image signal focuses on the spatial frequency component. It is also contemplated that the sample pattern and the area in the vicinity of the edge determined to be the analysis target are compared to each other in the real space. In other words, the sample motion blur pattern is stored as an image signal, and a sample motion blur pattern having a error function resulting in a minimum value to an actual image signal is searched for.
The motion blur characteristic analyzer 152 in the shutter speed estimation processor 150 estimates the motion blur length L using one of the above-described techniques, and outputs the resulting motion blur length L. The output motion blur length L is input to the imaging shutter speed calculator 153.
The imaging shutter speed calculator 153 determines the estimation imaging shutter speed SSDT based on the motion blur length L of the motion blur in the process target area DDT, and the motion vector VDT responsive to the process target area DDT. In other words, the process performed by the imaging shutter speed calculator 153 is merely solving equation (4). As previously described, the frame rate F in equation (4) is known. The movement speed V is a horizontal component of the motion vector VDT responsive to the process target area DDT, and is also known. The motion blur length L is estimated by the motion blur characteristic analyzer 152. The shutter speed S is easily determined by solving equation (4). The shutter speed S becomes the estimation imaging shutter speed SSDT to be output by the imaging shutter speed calculator 153.
Finally, the imaging shutter speed accuracy enhancement processor 154 generates and outputs the imaging shutter speed SSD. The imaging shutter speed accuracy enhancement processor 154 receives the estimation imaging shutter speed SSDT estimated by the imaging shutter speed calculator 153. In this case, estimation imaging shutter speeds estimated from a plurality of target areas are input. As previously discussed, the estimation process may be theoretically performed in one area selected from one frame within a period from the detection of one scene change to the detection of a next scene change. Performing the estimation process in a plurality of target areas within one frame as well as within a plurality of frames is useful to enhance estimation accuracy. For this reason, a plurality of estimation imaging shutter speeds SSDT may be used to generate the shutter speed SSD. If a plurality of different estimation imaging shutter speeds SSDT are estimated, a weight average or a median value of the speeds may be determined as the shutter speed SSD to be finally output. Process reliability is thus enhanced.
Operation of the imaging shutter speed accuracy enhancement processor 154 is described with reference to
The estimation imaging shutter speed SSDT calculated on the target area by the imaging shutter speed calculator 153, input to the imaging shutter speed accuracy enhancement processor 154, is received by the imaging shutter speed accumulator 1541. The imaging shutter speed accumulator 1541 accumulates the value of the estimation imaging shutter speeds SSDT. The imaging shutter speed filtering processor 1542 performs a predetermined filtering process using at least one of the values of the estimation imaging shutter speeds SSDT accumulated on the imaging shutter speed accumulator 1541. As previously discussed, the filtering process is intended to enhance process reliability when a plurality of different estimation imaging shutter speeds SSDT are input. The filtering process may include an averaging operation, a weighted averaging operation, and a medium value detection operation. To reduce the data size of the estimation imaging shutter speed SSDT to be accumulated on the imaging shutter speed accumulator 1541, the use of an infinite impulse response (IIR) filter is advisable. With the IIR filter, it suffices if immediately preceding process results only are stored, and operation becomes efficient.
The scene change detection signal receiver 1543 receives the scene change detection signal SCD input from the scene change detector 1514 in the process target area selector 151. Upon receiving the scene change detection signal SCD, the scene change detection signal receiver 1543 determines that a scene change has taken place in the target frame, and thus determines that the imaging shutter speed has changed. The scene change detection signal receiver 1543 outputs a reset signal to the imaging shutter speed accumulator 1541, and deletes the estimation values of the imaging shutter speeds heretofore stored. The imaging shutter speed filtering processor 1542 calculates a highly reliable imaging shutter speed using the estimation value of the imaging shutter speed newly input to the imaging shutter speed accumulator 1541.
The process results of the imaging shutter speed filtering processor 1542 are output as the shutter speed SSD of the current frame or of the current scene (lasting from the detection of an immediately preceding scene change to the detection of a next scene change).
The serial operations of the shutter speed estimation method of the shutter speed estimation processor 150 have been discussed. The shutter speed SSD estimated through the above-described process is output to the motion blur correction parameter calculator 170.
The process of the motion blur correction parameter calculator 170 and the motion blur correction processor 160 illustrated in
The motion vector VD output from the motion vector generation processor 140 and the shutter speed SSD output from the shutter speed estimation processor 150 are first received by the process selection controller 171. Using a motion vector value responsive to the partition area of the input motion vector VD, the process selection controller 171 references optimum shutter information stored on the optimum shutter speed information memory 172, and determines the shutter speed SSD0 of the partition area. The process selection controller 171 also compares the shutter speed SSD supplied from the shutter speed estimation processor 150 with the shutter speed SSD0 for evaluation. The process selection controller 171 thus determines whether the filtering process to be executed on the partition area is the motion de-blur process, the motion ad-blur process, or no motion blur correction at all. The process selection controller 171 then transfers the determination to the sorting unit 163.
The process selection controller 171 also outputs a filter parameter PD to the selected motion blur correction filtering blocks, i.e., the motion blur reduction processor 164 and the motion blur addition processor 165. The motion blur correction may be performed in either the motion de-blur process and the motion ad-blur process. The filter parameter PD is used to adjust the degree of such a process (in terms of amount and intensity).
The sorting unit 163 has already received the decoded image data DD, and outputs the decoded image data DD to one of the motion blur reduction processor 164 and the motion blur addition processor 165 on a per partition area basis in response to process selection control information SCS. Optionally, the sorting unit 163 may output the partition area where performance of a motion blur correction process is not necessary to the synthesizer 166 instead of supplying the partition area to one of the motion blur reduction processor 164 and the motion blur addition processor 165. The partition area where performance of a motion blur correction process is not necessary is processed by one of the motion blur reduction processor 164 and the motion blur addition processor 165 with the correction amount set to zero therewithin.
The motion blur reduction processor 164 performs on the image data of the partition area supplied from the sorting unit 163 the filtering process to reduce the motion blur quantity in a method to be discussed later, and outputs the resulting image data to the synthesizer 166. The motion blur addition processor 165 performs on the image data of the partition area supplied from the sorting unit 163 the filtering process to add the motion blur quantity in a method to be discussed later, and outputs the resulting image data to the synthesizer 166. The image data at the partition area having undergone the filtering process is output to the synthesizer 166. The synthesizer 166 then reconstructs the received image data into a frame image, and then outputs the frame image as the output image signal OD.
Processes of the elements illustrated in
The process selection controller 171 first references the optimum shutter speed information stored beforehand on the optimum shutter speed information memory 172 using the value of the vector responsive to the partition area of the input motion vector VD, and determines the shutter speed SSD0 for the partition area. Before describing the process selection controller 171, the optimum shutter speed is described.
The optimum shutter speed information memory 172 pre-stores the optimum shutter speed information represented in
The optimum shutter speed curve SS0 in
In accordance with one embodiment of the present invention, the optimum shutter speed responsive to the motion vector may be calculated using a function similar to the optimum shutter speed curve denoted by the solid line in
where v represents the motion vector of a given partition area, and parameters A, B, and γ are set to appropriate values in accordance with the optimum shutter curve illustrated in
SS0 represents the optimum shutter speed curve produced on the basis of the value obtained from an objective evaluation experiment, SS1-SS3 are optimum shutter speed curves approximating the optimum shutter speed curve 330 in accordance with equation (8). SS1-SS3 may be used to adjust the optimum shutter speed curve in accordance with a preference of a user of the apparatus.
A format of the data stored on the optimum shutter speed information memory 172 is not only a graph in
Described below is the determination method of the optimum shutter speed SSD0 in the partition area performed by the process selection controller 171. The process selection controller 171 performs the determination method on the premise that the optimum shutter speed information memory 172 stores the optimum shutter speed information in the form of graph illustrated in
A movement speed AVT of the partition area represents the absolute value of the vector value responsive to the partition area of the motion vector VD. The value of the movement speed AVT is plotted as a point in the abscissa of the graph in
With reference to
A motion blur quantity adjustment process is described in each of three values Sa, Sb, and Sc of imaging shutter speed with reference to
The imaging shutter speed Sa means an open shutter speed. The optimum shutter speed is higher than the actual shutter speed Sa in each of all the object speeds Va, Vb, and Vc. For this reason, the de-blur process as the motion blur reduction process is performed in order to generate an image having the degree of motion blur that is otherwise caused at the optimum shutter speed. The process selection controller 171 thus outputs to the sorting unit 163 the process selection control information SCS indicating that the motion de-blur process has been selected. The sorting unit 163 outputs the signal of each partition area in the input decoded image data DD to the motion blur reduction processor 164.
The motion de-blur process performed by the motion blur reduction processor 164 is specifically described below.
The smoothing filter 1642 is one of the simplest types of low-pass filters, and calculates and outputs an average value of the a process target pixel and the surrounding pixels thereof each time the process target pixel moves by one pixel. For example, as illustrated in
The smoothing filter characteristic converter 1641 receives the filter parameter PD. The smoothing filter characteristic converter 1641 extracts from the input filter parameters PD a filter parameter positionally corresponding to the partition area in the decoded image data DD, and determines, based on the extracted filter parameter, filter characteristics of the process to be performed by the smoothing filter 1642. For example, smoothing filters are respectively prepared for a plurality of filter parameters PD so that a filter to be used for a target pixel is determined. This process is specifically described below.
The smoothing filter characteristics are interpreted as how many pixels of the pixels surrounding the target pixel are averaged, and the shutter speed difference SSDD and the motion vector VD are used as examples of the filter parameters. In this case, one table is prepared which determines the number of pixels to be used for the smoothing filter with respect to a combination of a shutter speed difference SSDD and a motion vector VD. Each time the shutter speed difference SSDD and the motion vector VD are input, the number of pixels to be used for the smoothing filter is output. The determined number of pixels to be used for the smoothing filter is output to the smoothing filter 1642.
The smoothing filter 1642 (low-pass filter) performs a filtering process on a predetermined block containing the target pixel within the process target frame in accordance with the filter characteristics determined by the smoothing filter characteristic converter 1641, thereby converting the pixel value of the target pixel. The pixel value of the target pixel converted by the smoothing filter 1642 is output to the subtractor 1643. More specifically, the subtractor 1643 receives the pixel value of the target pixel converted by the smoothing filter 1642 although in a polarity inverted form of the pixel value. The subtractor 1643 also receives the target pixel of the process target frame of the input decoded image data DD. The subtractor 1643 calculates a difference value between the pixel value of the pixel in the input image data DD and the pixel value of the target pixel converted by the smoothing filter 1642, and then outputs the difference value to the adder 1644. The adder 1644 receives the difference value between the values before and after the operation of the smoothing filter. The adder 1644 also receives the target pixel of the process target frame in the decoded image data DD. The adder 1644 adds to the uncorrected pixel value of the target pixel the difference value between the values before and after the operation of the smoothing filter, and outputs the addition results as a portion of an output image.
The process of the motion blur reduction processor 164 illustrated in
Japanese Unexamined Patent Application Publication No. 2006-81150 (US Patent Application No. 2007-0070221A1) discloses a technique of performing a motion blur reduction process by directly high-pass filtering a partition area. The high-pass filter is based on the premise that an inverse function of a transfer function of a smoothing filter is used. The frequency characteristics of the smoothing filter contains a frequency that results in zero gain. A complete inverse smoothing filter may not be realized. Also from the standpoint of facilitating the process, the use of a low-pass filter such as the smoothing filter 1642 in the motion blur reduction processor 164 illustrated in
The motion blur reduction process is performed in the manner discussed above. The method of reducing the motion blur is not limited to the method described above.
The imaging shutter speed Sb as illustrated in
The process selection controller 171 outputs to the sorting unit 163 the process selection control information SCS indicating that the motion ad-blur process has been selected. The sorting unit 163 outputs the signal of each partition area in the decoded image data DD to the motion blur addition processor 165. The motion ad-blur process to be performed by the motion blur addition processor 165 is specifically described. An output image is here generated through spatial filtering.
With reference to
All the processes can be performed on a per pixel basis. However, to reduce the workload in each process, the motion blur addition processor 165 performs the process of the motion vector masking processor 1651 and the motion vector corrector 1652 on a per partition area basis with the partition area being a pixel block. The filtering process of the filter parameter calculator 1653 and the motion blur addition filter 1654 to add the motion blur to the decoded image data DD is performed on a pixel basis rather on a pixel block basis.
In order to identify in the process target frame an image area to which the motion blur is to be added, the motion vector masking processor 1651 performs a mask process illustrated in
In step S23, the motion vector masking processor 1651 determines on a per pixel block basis whether an area subject to jerkiness has been detected in step S21 and/or step S22. The motion vector masking processor 1651 sets a mask processing flag “1” to the pixel block that has been determined as being subject to jerkiness. The motion vector masking processor 1651 sets a masking process flag “0” to the pixel block that has not been determined as being subject to jerkiness.
In step S24, the motion vector masking processor 1651 determines whether the motion vector VD supplied from the process selection controller 171 is the motion vector VD of the pixel block having the above-described flag “1.” The motion vector masking processor 1651 outputs the motion vector of the pixel block having the flag “1” to the motion vector corrector 1652 without no change added to the value of the motion vector (processing proceeds from step S25 to step S26). In step S25, the motion vector masking processor 1651 performs the mask process on the motion vector of the pixel block having the above-described flag “0,” thereby setting the value of the motion vector to “0” or invalidating the value of the motion vector. The motion vector masking processor 1651 then outputs the mask processed motion vector to the motion vector corrector 1652 (processing thus proceeds from step S24 to step S25 to step S26).
The process of the motion vector corrector 1652 corrects the motion vector VD using the shutter speed difference SSDD of the input partition area. The motion vector is corrected by the motion vector corrector 1652 if the shutter speed difference SSDD is negative. Let F (frames/second) represents a frame rate of the decoded image data DD as a moving image, and the shutter speed difference SSDD is not smaller than −1/F (seconds). The shutter speed difference SSDD is a difference value between the imaging shutter speed SSD that is not smaller than zero and the optimum shutter speed SSD0 that is not greater than 1/F (seconds).
In the process of adding motion blur, the smaller the shutter speed difference SSDD (the larger the absolute value of the shutter speed difference SSDD), the greater the motion blur quantity to be added becomes. The closer the shutter speed difference SSDD is to zero, the smaller the motion blur quantity to be added becomes. In other words, the smaller the value of the shutter speed difference SSDD, the larger the value of the motion vector VD serving as an indicator of a motion blur quantity to be added. The closer the shutter speed difference SSDD is to zero, the smaller the value of the motion vector VD. The motion vector corrector 1652 thus multiplies the vector value by a function fs (SSDD). In the target pixel block, the function fs (SSDD) converges to 1 as the shutter speed difference SSDD becomes closer to “−1/F” and converges to “0” as the shutter speed difference SSDD becomes closer to “0”.
A value A closer to −1/F, and a value B closer to 0 are set wherein the magnitude relationship −1/F<A<<B<0 holds. The output value of the function fs is set to 1 for a value equal to or smaller than the value A and the output value of the function fs is set to be 0 for a value equal to or larger than the value B. This method is referred to as a clipping method.
Instead of the function fs (SSDD), the motion vector corrector 1652 may perform a multiplication process with fs (VD) having the motion vector VD as a variable or fs (SSDD, VD) as two variables as the shutter speed difference SSDD and the motion vector VD. The process of adding the motion blur quantity is performed in this way using to the motion vector VD the value of the filter parameter PD such as the shutter speed difference SSDD or the motion vector VD itself. When the data with the motion blur added thereto at the later stage is displayed as a moving image, a more naturally looking image quality in vision characteristics results.
The filter parameter calculator 1653 calculates the filter parameter described below on a per pixel basis in order to add the motion blur to each pixel forming the process target frame. The filter parameter calculator 1653 identifies a pixel positioned on a motion vector of each target pixel (hereinafter referred to as a parameter calculation target pixel). The target pixel is a pixel having effective motion vector information. The filter parameter calculator 1653 calculates a filter parameter responsive to a relative position of the parameter calculation target pixel identified with respect to the target pixel in the manner described below.
Referring to
where equation (9) is derived so that the square of the strength σ becomes a variance in the Gaussian function of the subsequent-stage motion blur addition filter 1654.
The filter parameter calculator 1653 calculates an angular direction θ of the motion blur addition in accordance with the following equation (10):
where (x1,y1) represents coordinates of the parameter calculation target pixel P1 in the x-y orthogonal coordinates plane system with the target pixel P0 at the origin of the system.
The filter parameter calculator 1653 identifies the parameter calculation target pixel from the motion vector of the target pixel, sets parameter information (σ,θ) for each identified parameter calculation target pixel, and then supplies the parameter information (σ,θ) to the motion blur addition filter 1654 on a per process target frame basis.
In the process of the filter parameter calculator 1653, a plurality of parameter calculation target pixels can be identified with respect to a given pixel. To facilitate the process in such a case, one of a plurality of pieces of parameter information having the largest σ is set as the parameter information of that pixel. The filter parameter calculator 1653 may perform a smoothing process such as a Gaussian function filtering process or a median filtering process on the parameter information (σ,θ) of each parameter calculation target pixel so that the image quality of the moving image output from the subsequent motion blur addition filter 1654 is increased.
In response to the parameter information supplied from the filter parameter calculator 1653, the motion blur addition filter 1654 performs a spatial filtering process within the process target frame described below on the pixel value of each pixel within the process target frame of the decoded image data DD. The motion blur addition filter 1654 outputs an image with a motion blur added thereto by a first filtering process and/or a second filtering process.
The first filtering process is described first. In the first filtering process, the motion blur addition filter 1654 receives, in the form of an input I(x+i,y+j), a pixel value of a motion blur addition target pixel prior to the addition of the motion blur and a pixel value of a pixel surrounding the target pixel. The motion blur addition filter 1654 then performs a Gaussian function filtering process on the input I(x+i,y+j) in accordance with a Gaussian function expressed as equation (11), thereby outputting a filter processed pixel value J(x,y):
where the surrounding pixel having the input I(x+i,y+j) is set in accordance with an angle direction in which the motion vector is added, and r represents a distance between the motion blur addition target pixel and the surrounding pixel.
The motion blur addition filter 1654 performs the above-described filtering process on each pixel having the parameter information (σ,θ) set therefor from among all the pixels forming the process target frame, thereby updating the pixel value of the pixel. The motion blur addition filter 1654 thus supplies a moving image with jerkiness reduced therefrom to the moving image display output unit 190.
Some of the pixels surrounding the target pixel may be positioned within a stationary area, i.e., a background area. The surrounding pixels positioned within the background area are not taken into consideration in the motion blur addition to the target pixel. The second filtering process focuses on this point. In the second filtering process, the motion blur addition filter 1654 calculates the pixel value J(x,y) of the target pixel in accordance with equation (11) with the pixel value I(x,y) of the target pixel replaced with a pixel value I(x+i0,y+j0) of a surrounding pixel if the surrounding pixel has a motion vector with zero value or an invalid motion vector. The motion blur addition filter 1654 outputs an image with jerkiness reduced in a more natural look than with the first filtering process.
The motion blur addition processor 165 performs the spatial filtering process in the above discussion. Alternatively, the motion blur addition processor 165 may generate an output image by performing a time filtering process. In such a case, a method of adding a motion blur with an appropriate number of intermediate frames generated is useful. The structure of such a method is illustrated in
The input decoded image data DD is supplied to the intermediate frame generator 1655 and the image accumulator 1656. The intermediate frame generator 1655 generates a predetermined number of new frames interpolating between existing prior and subsequent frames in time direction in accordance with a predetermined intermediate frame generation technique. The intermediate frame generator 1655 then supplies the new frames to the image accumulator 1656. A variety of available methods may be applied as the intermediate frame generation technique. For example, in one method, existing prior and subsequent frames may be blended with weight incorporated. In another method, the motion vector is weighted using information regarding the motion vector at each area input to the intermediate frame generator 1655 and image blending is performed. More accurate intermediate frames can thus be generated.
The filter controller 1657 receives the imaging shutter speed SSD and the motion vector VD, and calculates a filter parameter FN of each partition area for use by the motion blur addition filter 1658 in accordance with the received imaging shutter speed SSD and motion vector VD. The process performed by the motion blur addition filter 1658 is described before the discussion of the filter parameter FN.
The process of the motion blur addition filter 1658 is a frame averaging operation, and the number of frames used in the frame averaging operation is adaptively determined on a per partition area basis. In other words, the frame averaging operation is performed on the number of frames different from partition area to partition area using one frame in the input decoded image data DD and a plurality of frames generated by the intermediate frame generator 1655. In simple terms, the larger the number of frames to be used in the averaging operation, the larger the motion blur quantity to be added becomes, and the smaller the number of frames to be used in the averaging operation, the smaller the motion blur quantity to be added becomes.
Returning to the discussion of the filter controller 1657, the number of frames to be used in the averaging operation is determined in response to each partition area. The filter controller 1657 then outputs the number of frames to the motion blur addition filter 1658. The number of frames to be used in the averaging operation is the filter parameter FN. The minimum number of frames to be used in the averaging operation (the filter parameter FN) is one at minimum, and when the number of frames is one, one frame in the decoded image data DD is output as is without being processed. Let K represent the number of frames generated by the intermediate frame generator 1655 between the existing prior and subsequent frames, and the maximum number of frames is K+1 with the input frame added to the K frames. The filter parameter FN is determined from within a range of from 1 to K+1. As described above, the larger the number of frames, the larger the motion blur quantity to be added becomes.
The determination method of the filter parameter FN is not limited to any one method. In accordance with one embodiment of the present invention, the filter parameter FN is determined using the shutter speed difference SSDD input to the filter controller 1657 as described below. The shutter speed difference SSDD, if negative, is used by the motion blur addition processor 165. Let F (frames/second) represent a frame rate of the decoded image data DD as a moving image, and the shutter speed difference SSDD is not be smaller than −1/F (seconds). The shutter speed difference SSDD is a difference value between the imaging shutter speed SSD that is not smaller than zero and the optimum shutter speed SSD0 that is not greater than 1/F (seconds).
In the process of adding motion blur to be performed at the subsequent stage, the smaller the shutter speed difference SSDD (the larger the absolute value of the shutter speed difference SSDD), the greater the motion blur quantity becomes. The closer the shutter speed difference SSDD is to zero, the smaller the motion blur quantity to be added becomes. In other words, the smaller the value of the shutter speed difference SSDD, the larger the value of the motion vector VD serving as an indicator of a motion blur quantity to be added. The closer the shutter speed difference SSDD is to zero, the smaller the value of the motion vector VD.
The filter controller 1657 thus performs a process in accordance with a function gs (SSDD). The function gs (SSDD) increases and converges to K+1 as the shutter speed difference SSDD becomes closer to “−1/F” and converges to “1” as the shutter speed difference SSDD becomes closer to “0”. The filter parameter FN obtained as a result is output to the motion blur addition filter 1658. A value A closer to −1/F, and a value B closer to 0 are set and the magnitude relationship −1/F<A<<B<0 holds. The output value of the function gs is set to be K+1 for a value equal to or smaller than the value A and the output value of the function gs is set to be 1 for a value equal to or larger than the value B. This method is referred to as a clipping method.
Instead of the function gs (SSDD), the filter controller 1657 may perform a multiplication process with gs(VD) having the motion vector VD as a variable or gs(SSDD, VD) as two variables as the shutter speed difference SSDD and the motion vector VD in order to calculate the filter parameter FN.
When the number of frames (FN) for the filter averaging process in each partition area is input, the motion blur addition filter 1658 receives from the image accumulator 1656 the image data of the number of frames for the addition of the motion blur to each partition area, and performs the above-described filter averaging process. When the filter averaging process ends, the image data is reconstructed as a frame image, and then output as the output image signal OD.
As described above, the motion blur addition processor 165 performs the motion blur addition process using one of the spatial filtering process and the time filtering process. The motion blur addition process is not limited to the process described above.
The imaging shutter speed Sc is between Sa and Sb as illustrated in
As previously discussed with the imaging shutter speed being at Sa, the process selection controller 171 outputs to the sorting unit 163 process selection control information SCS indicating that the motion blur reduction process has been selected. The sorting unit 163 outputs to the motion blur reduction processor 164 the signal of a partition area in the decoded image data DD. The motion blur reduction processor 164 then performs the filtering process in the same manner as described with reference to the imaging shutter speed Sa.
In the partition area having Vb or Vc as the value of the object speed, any motion addition process is performed to generate an image containing a motion blur at a level corresponding to the optimum shutter speed. As previously discussed with reference to the imaging shutter speed Sb as illustrated in
The structure and operation of the image reproducing apparatus 100 corresponding to the image processing apparatus 2 having the second structure discussed with reference to
The image reproducing apparatus 100 having the third structure is generally identical to the image reproducing apparatus 100 illustrated in
The motion blur correction processor 160A includes the motion blur reduction processor 164, the motion blur addition processor 165, and the selector and synthesizer 167. The process selection controller 171 and the optimum shutter speed information memory 172 in the motion blur correction parameter calculator 170 are identical to the counterparts discussed with reference to
With reference to
The selector and synthesizer 167 receives the image data having undergone the motion blur addition process at all the partition areas of the decoded image data DD (including a partition area having zero correction quantity) and the image data having undergone the motion blur reduction process at all the partition areas of the decoded image data DD (including a partition area having zero correction quantity). The selector and synthesizer 167 selects the image data of each partition area in response to the scene change detection signal SCD supplied from the process selection controller 171. At each partition area forming one frame, the selector and synthesizer 167 selects between the image data from the motion blur reduction processor 164 and the image data from the motion blur addition processor 165. The selector and synthesizer 167 then synthesizes the selected image data of the partition areas, and then outputs the synthesized image data as the output image signal OD of one frame.
The motion blur correction processor 160A also has the same advantages as the motion blur correction processor 160 illustrated in
In the above discussion, the specific example of each of the image processing apparatuses 1, 2, and 3 is the image reproducing apparatus 100. The present invention is applicable to a variety of apparatuses. For example, the present invention may be applicable not only to the image reproducing apparatus but also to an imaging apparatus, a communication apparatus, an image recording apparatus, a game playing machine, a video editing apparatus or the like. The information processing apparatus such as a general-purpose personal computer may implement each of the image processing apparatuses 1, 2, and 3. A computer program to be executed by a central processing unit (CPU) that operates as the motion blur correction parameter calculator 12, the motion blur correction processor 13, and the shutter speed estimation processor 14 illustrated in
The computer program allows the same image processing to be performed by a personal computer, a cellular phone, a personal digital assistant (PDA), and a variety of image processing apparatuses using image data.
The computer program causing the CPU to operate as the motion blur correction parameter calculator 12, and the motion blur correction processor 13 (and the shutter speed estimation processor 14) may be pre-stored on a hard disk drive as a recording medium contained in an apparatus such as a computer, or a read-only memory (ROM), a flash memory or the like of a microcomputer having a CPU. The computer program may also be stored temporarily or permanently on removable recording media including a flexible disk, a compact disc read only memory (CD-ROM), a magneto-optical (MO) disc, a digital versatile disc (DVD), Blu-ray disc (registered trademark of Sony), a magnetic disc, a semiconductor memory, and a memory card. Such a removable recording medium may be supplied as package software. The computer program may be installed onto the personal computer from such a removable recording medium. The computer program may also downloaded from a download site via a network such as a local area network (LAN), or the Internet.
The present application contains subject matter related to that disclosed in Japanese Priority Patent Application JP 2008-161581 filed in the Japanese Patent Office on Jun. 20, 2008, the entire content of which is hereby incorporated by reference.
It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
Claims
1. An image processing apparatus, comprising:
- correction parameter calculation means for calculating a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data; and
- motion blur correction processing means for correcting a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter, wherein the motion blur correction parameter indicates a degree of correction to be applied to the image data.
2. The image processing apparatus according to claim 1, wherein the motion blur correction processing means performs a process of adding a motion blur on the image data and the process of reducing a motion blur in accordance with the motion blur correction parameter.
3. The image processing apparatus according to claim 1, wherein the motion blur correction processing means adaptively selects in response to each partition area of the image data one of the process of adding the motion blur and the process of reducing the motion blur on the image data, in accordance with the motion blur correction parameter.
4. The image processing apparatus according to claim 1, further comprising motion vector generating means for generating from the image data a motion vector as the motion information.
5. The image processing apparatus according to claim 1, wherein the correction parameter calculation means acquires an optimum shutter speed corresponding to a speed of an object from each partition area of the image data by referencing mapping information mapping the object speed to an imaging shutter speed at which image quality degradation of an output image is reduced, and
- calculates the motion blur correction parameter as selection control information for selecting between a process of adding a motion blur and a process of reducing a motion blur on the image data by comparing information regarding an input imaging shutter speed with the optimum shutter speed, and
- wherein the motion blur correction processing means selectively performs on the image data the process of adding the motion blur and the process of reducing the motion blur in accordance with the motion blur correction parameter.
6. The image processing apparatus according to claim 1, wherein the correction parameter calculation means calculates the motion blur correction parameter indicating one of the degree of addition of the motion blur and the degree of reduction of the motion blur, respectively used by the motion blur correction processing means in the process of adding the motion blur and the process of reducing the motion blur on the image data.
7. The image processing apparatus according to claim 6, wherein the motion blur correction parameter indicating one of the degree of addition of the motion blur and the degree of reduction of the motion blur comprises one of an imaging shutter speed and a difference between the imaging shutter speed and an optimum shutter speed.
8. The image processing apparatus according to claim 6, wherein the motion blur correction parameter indicating one of the degree of addition of the motion blur and the degree of reduction of the motion blur comprises movement speed information of a partition area.
9. An image processing method, comprising the steps of:
- calculating a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data; and
- correcting a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter, wherein the motion blur correction parameter indicates a degree of correction to be applied to the image data.
10. A non-transitory computer readable medium having stored thereon executable instructions that, when executed by at least one processor, cause the at least one processor to:
- calculate a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data; and
- correct a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter, wherein the motion blur correction parameter indicates a degree of correction to be applied to the image data.
11. An image processing apparatus, comprising:
- a correction parameter calculating unit calculating a motion blur correction parameter for motion blur correction on the basis of motion information indicating a motion of an image between unit images, the unit images forming image data, and shutter speed information obtained at the image capturing of the image data; and
- a motion blur correction processing unit correcting a motion blur quantity contained in the image data by performing at least a process of reducing a motion blur in accordance with the motion blur correction parameter, wherein the motion blur correction parameter indicates a degree of correction to be applied to the image data.
5701163 | December 23, 1997 | Richards et al. |
7538794 | May 26, 2009 | Turley |
7990429 | August 2, 2011 | Saito |
20040052425 | March 18, 2004 | Kondo et al. |
20040066460 | April 8, 2004 | Kondo et al. |
20050093982 | May 5, 2005 | Kuroki |
20070070221 | March 29, 2007 | Nishi et al. |
20090102935 | April 23, 2009 | Hung |
06-038098 | February 1994 | JP |
2003-006648 | October 2003 | JP |
2004-282318 | October 2004 | JP |
2005-260928 | September 2005 | JP |
2006-81150 | March 2006 | JP |
2007-020140 | January 2007 | JP |
2007-274299 | October 2007 | JP |
WO 2006/068293 | June 2006 | WO |
WO 2007/114220 | October 2007 | WO |
- Y. Kuroki, et al., “3.4: Improvement of Motion Image Quality by High Frame Rate”, SID 06 Digest, 2006 SID International Symposium, Society for Information Display, vol. 37, pp. 14-17, XP007012613 (2005).
- Partial European Search Report in EP 09 25 1344, dated Nov. 6, 2009.
- T. Saito et al., “Extension of Coupled Nonlinear Diffusion to Motion De-blurring—Introduction of Anisotropic Peaking”, The Institute of Image Information and Television Engineers, vol. 58, No. 12, pp. 1839-1844 (2004).
- T. Saito et al., “Motion De-blurring Using a Blur Model”, The Institute of Image Information and Television Engineers, vol. 59, No. 11, pp. 1714-1721 (2005).
- B. Okumura et al., “Photometric Registration Based on Defocus and Motion Blur Estimation for Augmented Reality”, The Institute of Image Information and Communication Engineers D, vol. J90-D, No. 8, pp. 2126-2136.
- T. Saito et al., “Model-Based Robust Variational Method for Motion De-Blurring”, Proc. 14th European Signal Processes. Conf. (EUSIPCO 2006).
- B. Okumura et al., “Augmented Reality Based on Estimation of Defocusing and Motion Blurring from Captured Images”, Proc. IEEE and ACM Int. Sympo. on Mixed Augmented Reality (ISMAR 06) (2006).
- European Search Report in EP 09 25 1344, dated May 28, 2010.
- Communication pursuant to Article 94(3) EPC, issued Mar. 3, 2011, in EP 09 251 344.9.
- EPO Communication pursuant to Article 94(3), dated Mar. 12, 2015, for EP Application No. 09251344.9 (6 pages).
Type: Grant
Filed: Jun 19, 2009
Date of Patent: Feb 23, 2016
Patent Publication Number: 20090316009
Assignee: Sony Corporation (Tokyo)
Inventors: Atsushi Ito (Tokyo), Seiji Kobayashi (Tokyo)
Primary Examiner: Trung Diep
Application Number: 12/487,922
International Classification: H04N 5/228 (20060101); H04N 5/235 (20060101); H04N 5/243 (20060101); G06T 5/00 (20060101); H04N 5/14 (20060101);