IP Library › Granted Patent US 11,601,636
Granted Patent B2
US 11,601,636 · App. 17/325,818 · Granted Mar 7, 2023

Methods, systems, and media for generating an immersive light field video with a layered mesh representation

Inventors: Ryan Overbeck (San Francisco, CA); Michael Joseph Broxton (Los Gatos, CA); John Flynn (Venice, CA); Daniel William Erickson (San Francisco, CA); Lars Peter Johannes Hedman (Los Angeles, CA); Matthew Nowicki DuVall (Los Angeles, CA); Jason Angelo Dourgarian (Los Angeles, CA); Jessica Lynn Busch (Long Beach, CA); Matthew Stephen Whalen (San Clemente, CA); Paul Debevec (Culver City, CA)
Assignee: Google LLC
H04N13/282G06T15/08G06T15/205H04N5/23203H04N5/247H04N13/15H04N13/161H04N13/172H04N13/194H04N13/271H04N19/177
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,601,636
App. No.
17/325,818
Granted
Mar 7, 2023
Kind
B2
Abstract

Mechanisms for generating compressed images are provided. More particularly, methods, systems, and media for capturing, reconstructing, compressing, and rendering view-dependent immersive light field video with a layered mesh representation are provided.

Claims (48)

1. A method for generating compressed videos, the method comprising:

obtaining a sequence of a plurality of images from a plurality of camera devices;

generating, for each of the plurality of images in the sequence of the plurality of images, a multi-sphere image, wherein the multi-sphere image includes a series of concentric spherical shells each having an RGBA texture map that is generated based on the plurality of images obtained from the plurality of camera devices;

generating a plurality of layered meshes corresponding to the sequence of the plurality of images by converting each multi-sphere image into a layered mesh, wherein the layered mesh is a polygonal mesh with a corresponding RGBA texture;

consolidating the plurality of layered meshes and the RGBA textures associated with the plurality of layered meshes, wherein consolidating the plurality of layered meshes and the RGBA textures associated with the plurality of layered meshes comprises generating a sequence of texture-atlased images each corresponding to a Group of Pictures frame;

generating a compressed video by compressing the stream of texture-atlased images; and

storing the compressed video in association with an identifier of the sequence of the plurality of images.

2. The method of claim 1 , wherein the plurality of images are obtained from the plurality of camera devices mounted on a portion of a spherical structure having a plurality of vertices and wherein a portion of the spherical structure at which a lens of a camera device is located is removed such that the camera device captures an image of an object located outside the portion of the sphere.

3. The method of claim 2 , wherein one camera device of the plurality of camera devices is designated a leader camera device such that the leader camera device triggers capture of the sequence of images by the remaining camera devices in the plurality of camera devices.

4. The method of claim 1 , further comprising converting the multi-sphere image to the plurality of layered meshes by subdividing layers of the multi-sphere image into a plurality of layer groups.

5. The method of claim 4 , wherein each layer group in the plurality of layer groups has a same number of layers.

6. The method of claim 4 , further comprising computing layer depth maps within each layer group of the plurality of layer groups based on layer disparity.

7. The method of claim 6 , further comprising converting each of the layer depth maps to the layered mesh.

8. The method of claim 7 , further comprising projecting RGBA values from layers of the multi-sphere image onto the layered mesh.

9. The method of claim 1 , further comprising:

receiving, from a computing device, a request for a video; and

in response to receiving the request, transmitting the compressed video to the computing device, wherein the compressed video comprises a series of Group of Pictures frames.

10. The method of claim 1 , further comprising:

receiving, from a computing device, a request for a video; and

in response to receiving the request, transmitting, for each Group of Pictures frame, a Group of Pictures mesh and a texture atlas retrieved from the compressed video to the computing device.

11. A system for generating compressed videos, the system comprising:

a hardware processor that is configured to:

obtain a sequence of a plurality of images from a plurality of camera devices;

generate, for each of the plurality of images in the sequence of the plurality of images, a multi-sphere image, wherein the multi-sphere image includes a series of concentric spherical shells each having an RGBA texture map that is generated based on the plurality of images obtained from the plurality of camera devices;

generate a plurality of layered meshes corresponding to the sequence of the plurality of images by converting each multi-sphere image into a layered mesh, wherein the layered mesh is a polygonal mesh with a corresponding RGBA texture;

consolidate the plurality of layered meshes and the RGBA textures associated with the plurality of layered meshes, wherein consolidating the plurality of layered meshes and the RGBA textures associated with the plurality of layered meshes comprises generating a sequence of texture-atlased images each corresponding to a Group of Pictures frame;

generate a compressed video by compressing the stream of texture-atlased images; and

store the compressed video in association with an identifier of the sequence of the plurality of images.

12. The system of claim 11 , wherein the plurality of images are obtained from the plurality of camera devices mounted on a portion of a spherical structure having a plurality of vertices and wherein a portion of the spherical structure at which a lens of a camera device is located is removed such that the camera device captures an image of an object located outside the portion of the sphere.

13. The system of claim 12 , wherein one camera device of the plurality of camera devices is designated a leader camera device such that the leader camera device triggers capture of the sequence of images by the remaining camera devices in the plurality of camera devices.

14. The system of claim 11 , wherein the hardware processor is further configured to convert the multi-sphere image to the plurality of layered meshes by subdividing layers of the multi-sphere image into a plurality of layer groups.

15. The system of claim 14 , wherein each layer group in the plurality of layer groups has a same number of layers.

16. The system of claim 14 , wherein the hardware processor is further configured to compute layer depth maps within each layer group of the plurality of layer groups based on layer disparity.

17. The system of claim 16 , wherein the hardware processor is further configured to convert each of the layer depth maps to the layered mesh.

18. The system of claim 17 , wherein the hardware processor is further configured to project RGBA values from layers of the multi-sphere image onto the layered mesh.

19. The system of claim 11 , wherein the hardware processor is further configured to:

receive, from a computing device, a request for a video; and

in response to receiving the request, transmit the compressed video to the computing device, wherein the compressed video comprises a series of Group of Pictures frames.

20. The system of claim 11 , wherein the hardware processor is further configured to:

receive, from a computing device, a request for a video; and

in response to receiving the request, transmit, for each Group of Pictures frame, a Group of Pictures mesh and a texture atlas retrieved from the compressed video to the computing device.

21. A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for generating compressed images, the method comprising:

obtaining a sequence of a plurality of images from a plurality of camera devices;

generating, for each of the plurality of images in the sequence of the plurality of images, a multi-sphere image, wherein the multi-sphere image includes a series of concentric spherical shells each having an RGBA texture map that is generated based on the plurality of images obtained from the plurality of camera devices;

generating a plurality of layered meshes corresponding to the sequence of the plurality of images by converting each multi-sphere image into a layered mesh, wherein the layered mesh is a polygonal mesh with a corresponding RGBA texture;

consolidating the plurality of layered meshes and the RGBA textures associated with the plurality of layered meshes, wherein consolidating the plurality of layered meshes and the RGBA textures associated with the plurality of layered meshes comprises generating a sequence of texture-atlased images each corresponding to a Group of Pictures frame;

generating a compressed video by compressing the stream of texture-atlased images; and

storing the compressed video in association with an identifier of the sequence of the plurality of images.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2023
From: OVERBECK, RYAN; BROXTON, MICHAEL JOSEPH; FLYNN, JOHN; ERICKSON, DANIEL WILLIAM; HEDMAN, LARS PETER JOHANNES; DUVALL, MATTHEW NOWICKI; DOURGARIAN, JASON ANGELO; BUSCH, JESSICA LYNN; WHALEN, MATTHEW STEPHEN; DEBEVEC, PAUL
To: GOOGLE LLC
Reel/Frame 063397/0262 →
Continuity (2)
Provisional Application 63028995 · May 22, 2020
Related Publication 20210368157A1 · Nov 25, 2021