Aggregating images and audio data to generate virtual reality content
First Claim
1. A computer-implemented method comprising:
- receiving video data describing image frames from camera modules;
receiving audio data from a microphone array;
determining a first matching camera module by;
determining a set of camera modules that have a point in their respective fields of view;
determining a left viewing direction from a left eye position to the point;
determining a set of viewing directions to the point for the set of camera modules; and
selecting the first matching camera module based on the first matching camera module having a first viewing direction that is most parallel to the left viewing direction, wherein the first viewing direction is determined to be the most parallel to the left viewing direction based on the first viewing direction forming a smallest angle with the left viewing direction as compared to other angles formed between the left viewing direction and other viewing directions associated with other camera modules from the set of camera modules;
constructing a left camera map that associates a first pixel location in a left panoramic image to the first matching camera module, wherein the first pixel location corresponds to the point in a panorama from the left viewing direction;
generating, based on the left camera map, a stream of left panoramic images;
constructing a right camera map that associates a second pixel location in a right panoramic image to a second matching camera module, wherein the second pixel location corresponds to the point in the panorama from a right viewing direction and the second matching camera module is selected based on having a second field of view that includes a second viewing direction that is most parallel to the second viewing direction as compared to the other viewing directions associated with the other camera modules;
generating, based on the right camera map, a stream of right panoramic images;
generating a stream of three dimensional (3D) video data from the stream of left panoramic images and the stream of right panoramic images;
generating a stream of 3D audio data from the audio data; and
generating augmented reality content that includes the stream of 3D video data and the stream of 3D audio data.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosure includes a system and method for aggregating image frames and audio data to generate virtual reality content. The system includes a processor and a memory storing instructions that, when executed, cause the system to: receive video data describing image frames from a camera array; receive audio data from a microphone array; aggregate the image frames to generate a stream of three-dimensional (3D) video data, the stream of 3D video data including a stream of left panoramic images and a stream of right panoramic images; generate a stream of 3D audio data from the audio data; and generate virtual reality content that includes the stream of 3D video data and the stream of 3D audio data.
45 Citations
19 Claims
-
1. A computer-implemented method comprising:
-
receiving video data describing image frames from camera modules; receiving audio data from a microphone array; determining a first matching camera module by; determining a set of camera modules that have a point in their respective fields of view; determining a left viewing direction from a left eye position to the point; determining a set of viewing directions to the point for the set of camera modules; and selecting the first matching camera module based on the first matching camera module having a first viewing direction that is most parallel to the left viewing direction, wherein the first viewing direction is determined to be the most parallel to the left viewing direction based on the first viewing direction forming a smallest angle with the left viewing direction as compared to other angles formed between the left viewing direction and other viewing directions associated with other camera modules from the set of camera modules; constructing a left camera map that associates a first pixel location in a left panoramic image to the first matching camera module, wherein the first pixel location corresponds to the point in a panorama from the left viewing direction; generating, based on the left camera map, a stream of left panoramic images; constructing a right camera map that associates a second pixel location in a right panoramic image to a second matching camera module, wherein the second pixel location corresponds to the point in the panorama from a right viewing direction and the second matching camera module is selected based on having a second field of view that includes a second viewing direction that is most parallel to the second viewing direction as compared to the other viewing directions associated with the other camera modules; generating, based on the right camera map, a stream of right panoramic images; generating a stream of three dimensional (3D) video data from the stream of left panoramic images and the stream of right panoramic images; generating a stream of 3D audio data from the audio data; and generating augmented reality content that includes the stream of 3D video data and the stream of 3D audio data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more processors; one or more non-transitory tangible computer-readable mediums communicatively coupled to the one or more processors and storing executable instructions executable by the one or more processors to perform operations comprising; receiving video data describing image frames from camera modules; receiving audio data from a microphone array; determining a first matching camera module by; determining a set of camera modules that have a point in their respective fields of view; determining a left viewing direction from a left eye position to the point; determining a set of viewing directions to the point for the set of camera modules; and selecting the first matching camera module based on the first matching camera module having a first viewing direction that is most parallel to the left viewing direction, wherein the first viewing direction is determined to be the most parallel to the left viewing direction based on the first viewing direction forming a smallest angle with the left viewing direction as compared to other angles formed between the left viewing direction and other viewing directions associated with other camera modules from the set of camera modules; constructing a left camera map that associates a first pixel in a left panoramic image to the first matching camera module, wherein a first pixel location associated with the first pixel corresponds to the point in a panorama from the left viewing direction, the first pixel has a yaw value and a pitch value in the panorama, and the first pixel is matched to a first corresponding pixel in an image plane of the first matching camera module; generating, based on the left camera map, a stream of left panoramic images; constructing a right camera map that associates a second pixel location in a right panoramic image to a second matching camera module, wherein the second pixel location corresponds to the point in the panorama from a right viewing direction and the second matching camera module is selected based on having a second field of view that includes a second viewing direction that is most parallel to the second viewing direction as compared to the other viewing directions associated with the other camera modules; generating, based on the right camera map, a stream of right panoramic images; generating a stream of 3D audio data from the audio data; and generating augmented reality content that includes the stream of 3D video data and the stream of 3D audio data. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product comprising a non-transitory computer-usable medium including a computer-readable program, wherein the computer-readable program when executed on a computer causes the computer to:
-
receive video data describing image frames from camera modules; receive audio data from a microphone array; determining a first matching camera module by; determining a set of camera modules that have a point in their respective fields of view; determining a left viewing direction from a left eye position to the point; determining a set of viewing directions to the point for the set of camera modules; and selecting the first matching camera module based on the first matching camera module having a first viewing direction that is most parallel to the left viewing direction, wherein the first viewing direction is determined to be the most parallel to the left viewing direction based on the first viewing direction forming a smallest angle with the left viewing direction as compared to other angles formed between the left viewing direction and other viewing directions associated with other camera modules from the set of camera modules; construct a left camera map that associates a first pixel location in a left panoramic image to the first matching camera module, wherein the first pixel location corresponds to the point in a panorama from the left viewing direction; generate, based on the left camera map, a stream of left panoramic images; construct a right camera map that associates a second pixel location in a right panoramic image to a second matching camera module, wherein the second pixel location corresponds to the point in the panorama from a right viewing direction and the second matching camera module is selected based on having a second field of view that includes a second viewing direction that is most parallel to the second viewing direction as compared to the other viewing directions associated with the other camera modules; generate, based on the right camera map, a stream of right panoramic images; generate a stream of three dimensional (3D) video data from the stream of left panoramic images and the stream of right panoramic images; generate a stream of 3D audio data from the audio data; and generate augmented reality content that includes the stream of 3D video data and the stream of 3D audio data. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification