Depth-based image stabilization
First Claim
1. A computer-implemented method of performing stabilization for image capture, comprising:
- receiving a first image from a first camera of a computing device;
receiving a second image from a second camera of the computing device;
determining a first representation of a first object of at least two objects represented in the first image;
determining a second representation of the first object of at least two objects represented in the second image;
determining a third representation of a second object of the at least two objects represented in the first image;
determining a fourth representation of the second object of the at least two objects represented in the second image;
determining first distance information for the first object based upon disparity differences between the first representation and the second representation;
determining second distance information for the second object based upon disparity differences between the third representation and the fourth representation;
determining a foreground object from the first object and the second object based upon the first distance information and the second distance information, the foreground object being less than a threshold distance from the computing device;
determining a background object from the first object and the second object based upon the first distance information and the second distance information, the background object being more than the threshold distance from the computing device;
displaying at least the first image received from the first camera on a display element of the computing device;
receiving a subsequent image from the first camera;
locating the foreground object represented in the subsequent image;
determining a fifth representation of the foreground object presented in the first image;
determining a sixth representation of the foreground object represented in the subsequent image;
determining an offset between the fifth representation and the sixth representation based upon the foreground object represented in the first image, the foreground object represented in the subsequent image, and distance information of the foreground object;
determining, that the offset is less than a threshold offset value;
determining a location of the foreground object represented in the subsequent image, as displayed on a display element of the computing device, to remove the offset of the foreground object; and
displaying the subsequent image on the display element of the computing device, the foreground object represented in the subsequent image being shifted by an equal amount of the offset in an opposite direction.
1 Assignment
0 Petitions
Accused Products
Abstract
Depth information can be used to assist with image processing functionality, such as image stabilization and blur reduction. In at least some embodiments, depth information obtained from stereo imaging or distance sensing, for example, can be used to determine a foreground object and background object(s) for an image or frame of video. The foreground object then can be located in later frames of video or subsequent images. Small offsets of the foreground object can be determined, and the offset accounted for by adjusting the subsequent frames or images. Such an approach provides image stabilization for at least a foreground object, while providing simplified processing and reduce power consumption. Similarly processes can be used to reduce blur for an identified foreground object in a series of images, where the blur of the identified object is analyzed.
-
Citations
22 Claims
-
1. A computer-implemented method of performing stabilization for image capture, comprising:
-
receiving a first image from a first camera of a computing device; receiving a second image from a second camera of the computing device; determining a first representation of a first object of at least two objects represented in the first image; determining a second representation of the first object of at least two objects represented in the second image; determining a third representation of a second object of the at least two objects represented in the first image; determining a fourth representation of the second object of the at least two objects represented in the second image; determining first distance information for the first object based upon disparity differences between the first representation and the second representation; determining second distance information for the second object based upon disparity differences between the third representation and the fourth representation; determining a foreground object from the first object and the second object based upon the first distance information and the second distance information, the foreground object being less than a threshold distance from the computing device; determining a background object from the first object and the second object based upon the first distance information and the second distance information, the background object being more than the threshold distance from the computing device; displaying at least the first image received from the first camera on a display element of the computing device; receiving a subsequent image from the first camera; locating the foreground object represented in the subsequent image; determining a fifth representation of the foreground object presented in the first image; determining a sixth representation of the foreground object represented in the subsequent image; determining an offset between the fifth representation and the sixth representation based upon the foreground object represented in the first image, the foreground object represented in the subsequent image, and distance information of the foreground object; determining, that the offset is less than a threshold offset value; determining a location of the foreground object represented in the subsequent image, as displayed on a display element of the computing device, to remove the offset of the foreground object; and displaying the subsequent image on the display element of the computing device, the foreground object represented in the subsequent image being shifted by an equal amount of the offset in an opposite direction. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computing device, comprising:
-
at least one processor; a display element; a camera; and non-transitory computer-readable storage medium including instructions that, when executed by the at least one processor, cause the computing device to; receive a first image from the camera of the computing device; determine a first representations of a first object of at least two objects in the first image; determine a second representation of a second object of the at least two objects represented in the first image; determine first distance information for the first object; determine second distance information for the second object; determine a foreground object from the first object and the second object based upon the first distance information and the second distance information, the foreground object being less than a threshold distance from the computing device; determine a background object from the first object and the second object based upon the first distance information and the second distance information, the background object being more than the threshold distance from the computing device; receive a subsequent image from the camera; determine a third representation of the foreground object presented in the first image; determine a fourth representation of the foreground object represented in the subsequent image; determine an offset between the third representation and the fourth representation based upon the foreground object represented in the first image, the foreground object represented in the subsequent image, and distance information of the foreground object; determine, by analyzing the foreground object represented in the subsequent image and the foreground object represented in the first image, that the offset is less than a threshold offset value; determine a location of the representation of the foreground object in the subsequent image, as displayed on a display element of the computing device; and display the subsequent image on the display element, the representation in the subsequent image being shifted based at least in part upon the offset in an opposite direction. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-implemented method, comprising:
-
receiving an image captured using a camera of a computing device; determining a first representation of a first object of at least two objects in the image; determining a second representation of a second object of the at least two objects represented in the image; determining first distance information for the first object; determining second distance information for the second object; determining a foreground object from the first object and the second object based upon the first distance information and the second distance information, the foreground object being less than a threshold distance from the computing device; determining a background object from the first object and the second object based upon the first distance information and the second distance information, the background object being more than the threshold distance from the computing device; receiving a subsequent image captured using the camera; determining an offset between a third representation and a fourth representation based upon the foreground object represented in the image, the foreground object represented in the subsequent image, and distance information of the foreground object; determining, by analyzing the foreground object represented in the subsequent image and the foreground object represented in the image, that the offset is less than a threshold offset value; determining a location of the representation of the foreground object in the subsequent image, as displayed on a display element of the computing device; and displaying the subsequent image on the display element, the representation in the subsequent image being shifted based at least in part upon the offset in an opposite direction. - View Dependent Claims (20, 21, 22)
-
Specification