Method and apparatus for image stabilization using multiple image captures
First Claim
Patent Images
1. A method of image processing for image stabilization, comprising:
- capturing an image of a scene using a plurality of frames, each frame captured using an exposure time that is a fraction of a determined exposure time for the scene;
spatially filtering pixels in a current one of the captured frames;
temporally filtering pixels in the current captured frame;
detecting motion of the pixels in the current frame relative to the pixels in a previous, temporarily-stored, filtered frame;
combining results of the spatial and temporal filtering of the current captured frame based on detected motion; and
storing the filtered current frame, wherein the motion detecting includes the steps of;
detecting block motion between the current frame and the previous, temporarily-stored, filtered frame; and
detecting pixel motion between the current frame and the previously-filtered frame, and wherein;
the current input frame is the defined by a function ƒ
(x,y,k);
the spatial filtering of the current input frame produces a result ƒ
sp(x,y,k);
the pixel motion detecting of the current input frame produces a result pm(x,y,k);
the temporal filtering of the current input frame produces a result ƒ
tp(x,y,k); and
the results of the spatial and temporal filtering are combined as a result ƒ
out(x,y,k) defined by the equation;
ƒ
out(x,y,k)=(1−
pm(x,y,k))·
ƒ
tp(x,y,k) +pm(x,y,k)·
ƒ
sp(x,y,k).
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for image stabilization while mitigating the amplification of image noise by using a motion adaptive system employing spatial and temporal filtering of pixel signals from multiple captured frames of a scene.
49 Citations
19 Claims
-
1. A method of image processing for image stabilization, comprising:
-
capturing an image of a scene using a plurality of frames, each frame captured using an exposure time that is a fraction of a determined exposure time for the scene; spatially filtering pixels in a current one of the captured frames; temporally filtering pixels in the current captured frame; detecting motion of the pixels in the current frame relative to the pixels in a previous, temporarily-stored, filtered frame; combining results of the spatial and temporal filtering of the current captured frame based on detected motion; and storing the filtered current frame, wherein the motion detecting includes the steps of; detecting block motion between the current frame and the previous, temporarily-stored, filtered frame; and detecting pixel motion between the current frame and the previously-filtered frame, and wherein; the current input frame is the defined by a function ƒ
(x,y,k);the spatial filtering of the current input frame produces a result ƒ
sp(x,y,k);the pixel motion detecting of the current input frame produces a result pm(x,y,k); the temporal filtering of the current input frame produces a result ƒ
tp(x,y,k); andthe results of the spatial and temporal filtering are combined as a result ƒ
out(x,y,k) defined by the equation;
ƒ
out(x,y,k)=(1−
pm(x,y,k))·
ƒ
tp(x,y,k) +pm(x,y,k)·
ƒ
sp(x,y,k). - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of image processing for image stabilization, comprising:
-
capturing an image of a scene using a plurality of frames, wherein each captured frame is captured using an exposure time that is a fraction of a determined exposure time for the scene; spatially filtering pixels in a first one of the captured frames; buffering the filtered first captured frame; and for each successive captured frame in the plurality of frames; spatially filtering each pixel in the captured frame; temporally filtering each pixel in the captured frame relative to the buffered frame; detecting motion in the current captured frame relative to the buffered frame; combining results of the spatial and temporal filtering of the captured frame based on detected motion; and buffering the combined result as a filtered frame, replacing the previous buffered frame, wherein the motion detecting includes the steps of; detecting block motion between the current frame and buffered frame; and detecting pixel motion between the current frame and the buffered frame, and wherein; the current input frame is the defined by a function ƒ
(x,y,k);the spatial filtering of the current input frame produces a result ƒ
sp(x,y,k);the pixel motion detecting of the current input frame produces a result pm(x,y,k); the temporal filtering of the current input frame produces a result ƒ
tp(x,y,k); andthe results of the spatial and temporal filtering are combined as a result ƒ
out(x,y,k) defined by the equation;
ƒ
out(x,y,k)=(1−
pm(x,y,k))·
ƒ
tp(x,y,k)+pm(x,y,k)·
ƒ
sp(x,y,k). - View Dependent Claims (8, 9, 10, 11)
-
-
12. An imager, comprising:
-
a pixel array that outputs pixel values for a current image frame; and an image processor electrically connected to the pixel array, the image processor including; a buffer to store a previously filtered image frame; a spatial filter to filter the current image frame; a temporal filter to average the current image frame with the previously filtered image frame; a motion detector to detect motion between the current image frame and the previously filtered image frame; and a controller to combine outputs of the spatial filter and the temporal filter for each pixel of the current image frame in response to the motion detected by the motion detector, wherein the motion detector further comprises; a block motion detector; and a pixel motion detector, wherein the result of the block motion detector is input to the pixel motion detector, and wherein the current input frame is the defined by a function ƒ
(x,y,k), and;the result of the spatial filter is ƒ
sp(x,y,k);the result of the pixel motion detector is pm(x,y,k); the result of temporal filter is ƒ
tp(x,y,k); andthe result of the controller is ƒ
out(x,y,k) and is defined by the equation;ƒ
out(x,y,k)=(1−
pm(x,y,k))·
ƒ
tp(x,y,k)+pm(x,y,k)·
ƒ
sp(x,y,k),wherein a control circuit is electrically connected to the pixel array for controlling the output of pixel values by the pixel array, wherein the control circuit triggers the pixel array to capture an image using a plurality of frames, each frame is captured using an exposure time that is a fraction of a determined exposure time for the scene. - View Dependent Claims (13, 14, 15)
-
-
16. An image processor that receives a plurality of image frames of a captured image, the image processor comprising:
-
a buffer to store a previously filtered image frame; a spatial filter to filter a current image frame; a temporal filter to average the current image frame with the previously filtered image frame; a motion detector to detect motion between the current image frame and the previously filtered image frame; and a controller to combine outputs of the spatial filter and the temporal filter for each pixel of the current image frame in response to the motion detected by the motion detector, wherein the motion detector further comprises; a block motion detector; and a pixel motion detector, wherein the result of the block motion detector is input to the pixel motion detector, and wherein the current input frame is the defined by a function ƒ
(x,y,k), and;the result of the spatial ƒ
sp(x,y,k);the result of the pixel motion detector is pm(x,y,k); the result of the temporal filter is ƒ
tp(x,y,k); andthe result of the controller is ƒ
out(x,y,k) and is defined by the equation;ƒ
out(x,y,k)=(1−
pm(x,y,k)·
ƒ
tp(x,y,k)+pm(x,y,k)·
ƒ
sp(x,y,k);wherein each of the plurality of image frames is captured using an exposure time that is a fraction of a determined exposure time for the scene. - View Dependent Claims (17, 18, 19)
-
Specification