Depth camera based image stabilization
First Claim
1. A method comprising:
- collecting, by a processing device, depth measurements for pixels of frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session between a user of the source device and a user of the target device, the depth measurements being created by a depth aware camera of the source device;
mapping, using the depth measurements for the pixels of the frames, feature locations of one or more features of an object in a frame in the sequence of images to feature locations of the one or more features of the object in at least one other frame in the sequence of images;
determining one or more overlapping frame sections between the frame and the at least one other frame using the mapped feature locations;
modifying, in the sequence of images, a set of images corresponding to the frame and the at least another frame based on the overlapping frame sections to create a stabilized stream of images for the video stream; and
providing the stabilized stream of images in the video stream as part of the communication session,wherein the overlapping sections comprise at least a portion of a person, and modifying the set of images to create the stabilized stream of images comprises;
creating a copy of the frame and the at least one other frame;
replacing a section of the copy of the frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the frame; and
replacing a section of the copy of the at least one other frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the at least one other frame.
2 Assignments
0 Petitions
Accused Products
Abstract
A processing device collects depth data for frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session. The depth data is created by a depth aware camera of the source device. The processing device maps, using the depth data, feature locations of the features of an object in a frame to feature locations of the features of the object in other frames, determines overlapping frame sections between the frames using the mapped feature locations, modifies, in the sequence of images, a set of images corresponding to the frames based on the overlapping frame sections to create a stabilized stream of images for the video stream, and provides the stabilized stream of images in the video stream as part of the communication session.
7 Citations
14 Claims
-
1. A method comprising:
-
collecting, by a processing device, depth measurements for pixels of frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session between a user of the source device and a user of the target device, the depth measurements being created by a depth aware camera of the source device; mapping, using the depth measurements for the pixels of the frames, feature locations of one or more features of an object in a frame in the sequence of images to feature locations of the one or more features of the object in at least one other frame in the sequence of images; determining one or more overlapping frame sections between the frame and the at least one other frame using the mapped feature locations; modifying, in the sequence of images, a set of images corresponding to the frame and the at least another frame based on the overlapping frame sections to create a stabilized stream of images for the video stream; and providing the stabilized stream of images in the video stream as part of the communication session, wherein the overlapping sections comprise at least a portion of a person, and modifying the set of images to create the stabilized stream of images comprises; creating a copy of the frame and the at least one other frame; replacing a section of the copy of the frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the frame; and replacing a section of the copy of the at least one other frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the at least one other frame. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
a memory; and a processing device, coupled to the memory, to; collect depth measurements for pixels of frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session between a user of the source device and a user of the target device, the depth measurements being created by a depth aware camera of the source device; map, using the depth measurements for the pixels of the frames, feature locations of one or more features of an object in a frame in the sequence of images to feature locations of the one or more features of the object in at least one other frame in the sequence of images; determine one or more overlapping frame sections between the frame and the at least one other frame using the mapped feature locations; modify, in the sequence of images, a set of images corresponding to the frame and the at least another frame based on the overlapping frame sections to create a stabilized stream of images for the video stream; and provide the stabilized stream of images in the video stream as part of the communication session, wherein the overlapping sections comprise at least a portion of a person, and to modify the set of images to create the stabilized stream of images, the processing device is to; create a copy of the frame and the at least one other frame; replace a section of the copy of the frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the frame; and replace a section of the copy of the at least one other frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the at least one other frame. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processing device, cause the processing device to perform operations comprising:
-
collecting, by the processing device, depth measurements for pixels of frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session between a user of the source device and a user of the target device, the depth measurements being created by a depth aware camera of the source device; mapping, using the depth measurements for the pixels of the frames, feature locations of one or more features of an object in a frame in the sequence of images to feature locations of the one or more features of the object in at least one other frame in the sequence of images; determining one or more overlapping frame sections between the frame and the at least one other frame using the mapped feature locations; modifying, in the sequence of images, a set of images corresponding to the frame and the at least another frame based on the overlapping frame sections to create a stabilized stream of images for the video stream; and providing the stabilized stream of images in the video stream as part of the communication session, wherein the overlapping sections comprise at least a portion of a person, and modifying the set of images to create the stabilized stream of images comprises; creating a copy of the frame and the at least one other frame; replacing a section of the copy of the frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the frame; and replacing a section of the copy of the at least one other frame that contains the portion of the person with the overlapping frame section without modifying a background portion of the copy of the at least one other frame. - View Dependent Claims (12, 13, 14)
-
Specification