Data structures and delivery methods for expediting virtual reality playback
First Claim
1. A method for storing a video stream of a scene for a virtual reality or augmented reality experience, the method comprising:
- at one or more image capture devices, capturing the video stream;
at a processor, dividing the video stream into a plurality of units based on at least a first selection from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation, wherein dividing the video stream into the plurality of units comprises dividing the video stream into the plurality of units based on time segmentation and each of the units comprises a group of pictures comprising a sequence of successive frames in time;
at the processor, dividing each of the units into a plurality of sub-units, based on at least a second selection, different from the first selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation, wherein dividing each of the units into the plurality of sub-units comprises dividing each of the groups of pictures into the plurality of sub-units based on viewpoint segmentation and each of the sub-units comprises a vantage defining a viewpoint from which the scene is viewable;
at a data store, storing at least a portion of the video stream in a file comprising a plurality of the units;
at the processor, based on a viewer position and/or orientation, identifying a subset of the file;
from the data store, retrieving the subset of the file without retrieving a remainder of the file;
at the processor, using the subset to generate a view of the scene from the viewer position and/or orientation;
on a display device, displaying the view; and
dividing each of the vantages into a plurality of sub-sub-units, based on at least a third selection, different from the first selection and the second selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation.
2 Assignments
0 Petitions
Accused Products
Abstract
A video stream for a scene for a virtual reality or augmented reality experience may be stored and delivered to a viewer. The video stream may be divided into a plurality of units based on time segmentation, viewpoint segmentation, and/or view orientation segmentation. Each of the units may be divided into a plurality of sub-units based on a different segmentation from the units, via time segmentation, viewpoint segmentation, and/or view orientation segmentation. At least a portion of the video stream may be stored in a file that includes a plurality of the units. Each unit may be a group of pictures that is a sequence of successive frames in time. Each sub-unit may be a vantage defining a viewpoint from which the scene is viewable. Each vantage may be further divided into tiles, each of which is part of the vantage, limited to one or more particular view orientations.
570 Citations
23 Claims
-
1. A method for storing a video stream of a scene for a virtual reality or augmented reality experience, the method comprising:
-
at one or more image capture devices, capturing the video stream; at a processor, dividing the video stream into a plurality of units based on at least a first selection from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation, wherein dividing the video stream into the plurality of units comprises dividing the video stream into the plurality of units based on time segmentation and each of the units comprises a group of pictures comprising a sequence of successive frames in time; at the processor, dividing each of the units into a plurality of sub-units, based on at least a second selection, different from the first selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation, wherein dividing each of the units into the plurality of sub-units comprises dividing each of the groups of pictures into the plurality of sub-units based on viewpoint segmentation and each of the sub-units comprises a vantage defining a viewpoint from which the scene is viewable; at a data store, storing at least a portion of the video stream in a file comprising a plurality of the units; at the processor, based on a viewer position and/or orientation, identifying a subset of the file; from the data store, retrieving the subset of the file without retrieving a remainder of the file; at the processor, using the subset to generate a view of the scene from the viewer position and/or orientation; on a display device, displaying the view; and dividing each of the vantages into a plurality of sub-sub-units, based on at least a third selection, different from the first selection and the second selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium for storing a video stream of a scene for a virtual reality or augmented reality experience, comprising instructions stored thereon, that when executed by one or more processors, perform the steps of:
-
causing a data store to retrieve a video stream captured by one or more image capture devices; dividing the video stream into a plurality of units based on at least a first selection from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation, wherein dividing the video stream into the plurality of units comprises dividing the video stream into the plurality of units based on time segmentation and each of the units comprises a group of pictures comprising a sequence of successive frames in time; dividing each of the units into a plurality of sub-units, based on at least a second selection, different from the first selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation, wherein dividing each of the units into the plurality of sub-units comprises dividing each of the groups of pictures into the plurality of sub-units based on viewpoint segmentation, and each of the sub-units comprises a vantage defining a viewpoint from which the scene is viewable; causing the data store to store at least a portion of the video stream in a file comprising a plurality of the units; based on a viewer position and/or orientation, identifying a subset of the file; retrieving the subset of the file without retrieving a remainder of the file; using the subset to generate a view of the scene from the viewer position and/or orientation; and displaying the view on a display device, wherein; the non-transitory computer-readable medium further comprises instructions stored thereon, that when executed by one or more processors, divide each of the vantages into a plurality of sub-sub-units, based on at least a third selection, different from the first selection and the second selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation; dividing each of the vantages into the plurality of sub-sub-units comprises dividing each of the groups of pictures into the plurality of sub-units based on view orientation segmentation; and each of the sub-sub-units comprises a tile comprising part of one of the vantages, limited to one or more particular view orientations along which the scene is viewable from the one of the vantages. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A system for storing a video stream of a scene for a virtual reality or augmented reality experience, the system comprising:
-
a processor configured to; divide a video stream captured by one or more image capture devices into a plurality of units based on at least a first selection from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation; and divide each of the units into a plurality of sub-units, based on at least a second selection, different from the first selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation; a data store configured to store at least a portion of the video stream in a file comprising a plurality of the units; and a display device; wherein the processor is further configured to; based on a viewer position and/or orientation, identify a subset of the file; retrieve the subset of the file without retrieving a remainder of the file; and use the subset to generate a view of the scene from the viewer position and/or orientation; wherein the processor is further configured to divide the video stream into the plurality of units by dividing the video stream into the plurality of units based on time segmentation, and each of the units comprises a group of pictures comprising a sequence of successive frames in time; the processor is further configured to divide each of the units into the plurality of sub-units by dividing each of the groups of pictures into the plurality of sub-units based on viewpoint segmentation, and each of the sub-units comprises a vantage defining a viewpoint from which the scene is viewable; wherein the processor is further configured to divide each of the vantages into a plurality of sub-sub-units, based on at least a third selection, different from the first selection and the second selection, from the group consisting of time segmentation, viewpoint segmentation, and view orientation segmentation; wherein the processor is further configured to divide each of the vantages into the plurality of sub-sub-units by dividing each of the groups of pictures into the plurality of sub-units based on view orientation segmentation; each of the sub-sub-units comprises a tile comprising part of one of the vantages, limited to one or more particular view orientations along which the scene is viewable from the one of the vantages; and wherein the display device is further configured to display the view. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification