Spatially registered augmented video
First Claim
1. A method comprising:
- obtaining a plurality of segmented image frames of an object, a first panoramic image associated with the plurality of segmented image frames of the object, and an orientation of a source camera with respect to the first panoramic image for each frame in the plurality of segmented image frames, the plurality of segmented image frames of the object captured with the source camera;
causing a plurality of target image frames to be captured with a target camera;
generating a second panoramic image from the plurality of target image frames;
determining an orientation of the target camera with respect to the second panoramic image for each frame of the plurality of target image frames;
matching the first panoramic image to the second panoramic image to align the first panoramic image to the second panoramic image;
calculating a transformation for each frame of the plurality of segmented image frames of the object with the first panoramic image aligned to the second panoramic image using the orientation of the source camera with respect to the first panoramic image for each frame in the plurality of segmented image frames and the orientation of the target camera with respect to the second panoramic image for each respective frame in the plurality of target image frames; and
causing the plurality of segmented image frames to be displayed over the plurality of target image frames using the transformation for each frame.
1 Assignment
0 Petitions
Accused Products
Abstract
A source video stream is processed to extract a desired object from the remainder of video stream to produce a segmented video of the object. Additional relevant information, such as the orientation of the source camera for each frame in the resulting segmented video of the object, is also determined and stored. During replay, the segmented video of the object, as well as the source camera orientation are obtained. Using the source camera orientation for each frame of the segmented video of the object, as well as target camera orientation for each frame of a target video stream, a transformation for the segmented video of the object may be produced. The segmented video of the object may be displayed over the target video stream, which may be a live video stream of a scene, using the transformation to spatially register the segmented video to the target video stream.
43 Citations
37 Claims
-
1. A method comprising:
-
obtaining a plurality of segmented image frames of an object, a first panoramic image associated with the plurality of segmented image frames of the object, and an orientation of a source camera with respect to the first panoramic image for each frame in the plurality of segmented image frames, the plurality of segmented image frames of the object captured with the source camera; causing a plurality of target image frames to be captured with a target camera; generating a second panoramic image from the plurality of target image frames; determining an orientation of the target camera with respect to the second panoramic image for each frame of the plurality of target image frames; matching the first panoramic image to the second panoramic image to align the first panoramic image to the second panoramic image; calculating a transformation for each frame of the plurality of segmented image frames of the object with the first panoramic image aligned to the second panoramic image using the orientation of the source camera with respect to the first panoramic image for each frame in the plurality of segmented image frames and the orientation of the target camera with respect to the second panoramic image for each respective frame in the plurality of target image frames; and causing the plurality of segmented image frames to be displayed over the plurality of target image frames using the transformation for each frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A mobile device comprising:
-
a camera capable of capturing a plurality of target image frames; a display capable of displaying the plurality of target image frames; and a processor coupled to the camera and the display, the processor configured to obtain a plurality of segmented image frames of an object, a first panoramic image associated with the plurality of segmented image frames of the object, and an orientation of a source camera with respect to the first panoramic image for each frame in the plurality of segmented image frames, the plurality of segmented image frames of the object captured with the source camera;
generate a second panoramic image from the plurality of target image frames;
determine an orientation of the camera with respect to the first panoramic image for each frame of the plurality of target image frames;
match the first panoramic image to the second panoramic image to align the first panoramic image to the second panoramic image;
calculate a transformation for each frame of the plurality of segmented image frames of the object with the first panoramic image aligned to the second panoramic image using the orientation of the source camera with respect to the first panoramic image and the orientation of the camera with respect to the second panoramic image; and
display the plurality of segmented image frames of the object over the plurality of target image frames on the display using the transformation for each frame. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A mobile device comprising:
-
means for obtaining a plurality of segmented image frames of an object, a first panoramic image associated with the plurality of segmented image frames of the object, and an orientation of a source camera with respect to the first panoramic image for each frame in the plurality of segmented image frames, the plurality of segmented image frames of the object captured with the source camera; means for capturing a plurality of target image frames with a target camera; means for generating a second panoramic image from the plurality of target image frames; means for determining an orientation of the target camera with respect to the second panoramic image for each frame of the plurality of target image frames; means for matching the first panoramic image to the second panoramic image to align the first panoramic image to the second panoramic image; means for calculating a transformation for each frame of the plurality of segmented image frames of the object with the first panoramic image aligned to the second panoramic image using the orientation of the source camera with respect to the first panoramic image and the orientation of the target camera with respect to the second panoramic image; and means for displaying the plurality of segmented image frames of the object over the plurality of target image frames using the transformation for each frame. - View Dependent Claims (20)
-
-
21. A non-transitory computer-readable medium including program code stored thereon, comprising:
-
program code to obtain a plurality of segmented image frames of an object, a first panoramic image associated with the plurality of segmented image frames of the object, and an orientation of a source camera with respect to the first panoramic image for each frame in the plurality of segmented image frames, the plurality of segmented image frames of the object captured with the source camera; program code to generate a second panoramic image from a plurality of target image frames; program code to determine an orientation of a target camera with respect to the second panoramic image for each frame of a plurality of target image frames captured with the target camera; program code to match the first panoramic image to the second panoramic image to align the first panoramic image to the second panoramic image; program code to calculate a transformation for each frame of the plurality of segmented image frames of the object with the first panoramic image aligned to the second panoramic image using the orientation of the source camera with respect to the first panoramic image and the orientation of the target camera with respect to the second panoramic image; and program code to display the plurality of segmented image frames of the object over the plurality of target image frames using the transformation.
-
-
22. A method comprising:
-
obtaining a plurality of source image frames including an object and a background that is captured with a moving camera; segmenting the object from the background in the plurality of source image frames to produce a plurality of segmented image frames of the object; generating a panoramic image with the background from the plurality of source image frames; determining an orientation of the moving camera for each frame of the plurality of segmented image frames of the object; and storing the plurality of segmented image frames of the object with the panoramic image and the orientation of the moving camera for each frame of the plurality of segmented image frames of the object. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. An apparatus comprising:
-
a database; and a processor coupled to the database, the processor being configured to obtain a plurality of source image frames including an object an a background that is captured with a moving camera, segment the object from the background in the plurality of source image frames to produce a plurality of segmented image frames of the object;
generate a panoramic image with the background from the plurality of source image frames;determine an orientation of the moving camera for each frame of the plurality of segmented image frames of the object, and store the plurality of segmented image frames of the object with the panoramic image and the orientation of the moving camera for each frame of the plurality of segmented image frames of the object in the database. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. An apparatus comprising:
-
means for obtaining a plurality of source image frames including an object and a background that is captured with a moving camera; means for segmenting the object from the background in the plurality of source image frames to produce a plurality of segmented image frames of the object; means for generating a panoramic image with the background from the plurality of source image frames; means for determining an orientation of the moving camera for each frame of the plurality of segmented image frames of the object; and means for storing the plurality of segmented image frames of the object with the panoramic image and the orientation of the moving camera for each frame of the plurality of segmented image frames of the object. - View Dependent Claims (36)
-
-
37. A non-transitory computer-readable medium including program code stored thereon, comprising:
-
program code to obtain a plurality of source image frames including an object and a background that is captured with a moving camera; program code to segment the object from the background in the plurality of source image frames to produce a plurality of segmented image frames of the object; program code to generate a panoramic image with the background from the plurality of source image frames; program code to determine an orientation of the moving camera for each frame of the plurality of segmented image frames of the object; and program code to store the plurality of segmented image frames of the object with the panoramic image and the orientation of the moving camera for each frame of the plurality of segmented image frames of the object.
-
Specification