IP Library Granted Patent US 10,600,155
Granted Patent B2
US 10,600,155 · App. 15/893,547 · Granted Mar 24, 2020

Generating virtual reality content based on corrections to stitching errors

Inventors: Olaf Brandt (Palo Alto, CA); Anatoli Adamov (Palo Alto, CA); Arthur Van Hoff (Palo Alto, CA)
Assignee: Verizon Patent and Licensing Inc.
G06T3/4038G06T1/20H04N5/2258H04N5/23206H04N5/23238H04N5/3415H04N13/111H04N13/246G06T2207/20221H04L67/12H04L67/327
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 10,600,155
App. No.
15/893,547
Granted
Mar 24, 2020
Kind
B2
Abstract

Some embodiments of the invention include methods and systems to generating virtual reality content based on corrections to stitching errors. The method includes receiving at a cloud-based server through a network interface, raw virtual reality video data recorded by camera modules of a camera array. The method further includes stitching the raw virtual reality video data, at the cloud-based server, to generate an initial virtual reality render. The method further includes determining that the initial virtual reality render has stitching errors. The method further includes transmitting the initial virtual reality render from the cloud-based server to a user device. The method further includes receiving a correction to the initial virtual reality render from the user device. The method further includes generating virtual reality content based on the correction.

Claims (59)

1. A computer-implemented method comprising:

receiving at a cloud-based server through a network interface, raw virtual reality video data recorded by camera modules of a camera array;

stitching the raw virtual reality video data, at the cloud-based server, to generate an initial virtual reality render;

determining that the initial virtual reality render has stitching errors;

transmitting the initial virtual reality render from the cloud-based server to a user device;

receiving a correction to the initial virtual reality render from the user device;

generating virtual reality content based on the correction; and

providing the virtual reality content to a viewing device.

2. The method of claim 1 , wherein receiving the correction to the initial virtual reality render from the user device includes receiving a corrected virtual reality render from the user device.

3. The method of claim 1 , wherein:

a stitching algorithm determines that the initial virtual reality render has stitching errors; and

the correction from the user device is feedback identifying one or more of a location of the stitching errors within image frames and a time associated with the stitching errors.

4. The method of claim 3 , further comprising:

modifying the stitching algorithm based on the feedback; and

generating a corrected virtual reality render based on a modification to the stitching algorithm, wherein generating the virtual reality content is based on the corrected virtual reality render.

5. The method of claim 1 , wherein providing the virtual reality content to the viewing device includes providing the virtual reality content for download through a network interface.

6. The method of claim 1 , wherein the user device provides a preview of the initial virtual reality render for detecting errors in the initial virtual reality render.

7. The method of claim 1 , wherein the user device includes an editing tool for correcting the stitching errors in the initial virtual reality render.

8. The method of claim 7 , wherein the editing tool corrects errors in the raw virtual reality video data that include the stitching errors and the editing tool generates a corrected virtual reality render based on correction to the raw virtual reality video data.

9. The method of claim 8 , wherein the editing tool determines whether the corrected virtual reality render has the stitching errors.

10. A system comprising:

a camera array that comprises camera modules;

a virtual reality processing server that includes one or more processors and a non-transitory memory storing computer code which, when executed by the one or more processors causes the one or more processors to:

receive at a cloud-based server through a network interface, raw virtual reality video data recorded by camera modules of the camera array;

stitch the raw virtual reality video data, at the cloud-based server, to generate an initial virtual reality render;

determine that the initial virtual reality render has stitching errors;

transmit the initial virtual reality render from the cloud-based server to a user device;

receive a correction to the initial virtual reality render from the user device;

generate virtual reality content based on the correction; and

provide the virtual reality content to a viewing device.

11. The system of claim 10 , wherein the virtual reality processing server comprises:

multiple graphical processing units that stitch the raw virtual reality video data;

a virtual reality processing manager operable to query the graphical processing units to determine an availability of each of the graphical processing units;

a virtual reality processing scheduler operable to generate a virtual reality map that describes the availability of each of the graphical processing units; and

a virtual reality processing optimization module operable to determine a cost associated with using each of the graphical processing units.

12. The system of claim 10 , wherein receiving the correction to the initial virtual reality render from the user device includes receiving a corrected virtual reality render from the user device.

13. The system of claim 10 , wherein:

a stitching algorithm determines that the initial virtual reality render has stitching errors; and

the correction from the user device is feedback identifying one or more of a location of the stitching errors within image frames and a time associated with the stitching errors.

14. The system of claim 13 , wherein the computer code is further operable to cause the one or more processors to:

modifying the stitching algorithm based on the feedback; and

generating a corrected virtual reality render based on a modification to the stitching algorithm, wherein generating the virtual reality content is based on the corrected virtual reality render.

15. The system of claim 10 , wherein providing the virtual reality content to the viewing device includes providing the virtual reality content for download through a network interface.

16. A non-transitory memory encoded with a computer program, the computer program comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving at a cloud-based server through a network interface, raw virtual reality video data recorded by camera modules of a camera array;

stitching the raw virtual reality video data, at the cloud-based server, to generate an initial virtual reality render;

determining that the initial virtual reality render has stitching errors;

transmitting the initial virtual reality render from the cloud-based server to a user device;

receiving a correction to the initial virtual reality render from the user device;

generating virtual reality content based on the correction; and

providing the virtual reality content to a viewing device.

17. The non-transitory memory of claim 16 , wherein receiving the correction to the initial virtual reality render from the user device includes receiving a corrected virtual reality render from the user device.

18. The non-transitory memory of claim 16 , wherein:

a stitching algorithm determines that the initial virtual reality render has stitching errors; and

the correction from the user device is feedback identifying one or more of a location of the stitching errors within image frames and a time associated with the stitching errors.

19. The non-transitory memory of claim 18 , wherein the instructions are further operable to perform operations comprising:

modifying the stitching algorithm based on the feedback; and

generating a corrected virtual reality render based on a modification to the stitching algorithm, wherein generating the virtual reality content is based on the corrected virtual reality render.

20. The non-transitory memory of claim 16 , wherein providing the virtual reality content to the viewing device includes providing the virtual reality content for download through a network interface.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: VAN HOFF, ARTHUR
To: JAUNT INC.
Reel/Frame 051267/0576 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: BRANDT, OLAF; ADAMOV, ANATOLI
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 051267/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: JAUNT, INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 050602/0853 →
Continuity (2)
Provisional Application 62456866 · Feb 9, 2017
Related Publication 20180225805A1 · Aug 9, 2018
Cited By (2)
US 12,250,364 US 12,347,035