Method and apparatus for encoding, transmitting and decoding volumetric video
Methods, devices and stream for encoding, decoding and transmitting a multi-views frame are disclosed. A non-pruned MVD frame is obtained and an acyclic graph representing pruning precedence relations between views is determined. The MVD is pruned by using these precedence relations. The pruned MVD and data representative of the graph are encoded in the data stream. At the decoding, the contribution of each view for a pixel of a viewport frame to generate is determined as a function of the decoded pruning graph.
1 . A method for encoding views of a multi-view frame in a data stream, the method comprising:
obtaining an explicitly stored acyclic graph data structure linking views of the multi-view frame, links of the acyclic graph being representative of a pruning precedence relation, at least one basic view of the multi-view frame having no pruning precedence link;
pruning pixels of views of the multi-view frame in an order determined so that a given view is pruned after views linked to the given view by a pruning precedence link, wherein at least one pixel of the given view is pruned when the at least one pixel corresponds to information encoded in a pixel of a view transitively linked to the given view by a pruning precedence link such that the pruning is executable in a single pass along paths of the acyclic graph without requiring sequential multi-phase pruning; and
encoding the acyclic graph as a graph structure including identifiers for nodes and edges, the at least one basic view, and the pruned views of the multi-view frame in the data stream.
2 . The method of claim 1 , wherein the pruning pixels of views comprises replacing the value of the pixels by a determined value.
3 . The method of claim 1 , wherein the acyclic graph is signaled in the data stream as a list comprising, for each view of the multi-view frame, linked views.
4 . The method of claim 1 , wherein the acyclic graph encodes both basic and additional views in a single unified pruning hierarchy, such that pruning precedence applies uniformly to all views.
5 . A device for encoding views of a multi-view frame in a data stream, the device comprising a processor configured for:
obtaining an explicitly stored acyclic graph data structure linking views of the multi-view frame, links of the acyclic graph being representative of a pruning precedence relation, at least one basic view of the multi-view frame having no pruning precedence link;
pruning pixels of views of the multi-view frame in an order determined so that a given view is pruned after views linked to the given view by a pruning precedence link; wherein at least one pixel of the given view is pruned when the at least one pixel corresponds to information encoded in a pixel of a view transitively linked to the given view by a pruning precedence link such that the pruning is executable in a single pass along paths of the acyclic graph without requiring sequential multi-phase pruning; and
encoding the acyclic graph as a graph structure including identifiers for nodes and edges, the at least one basic view, and the pruned views of the multi-view frame in the data stream.
6 . The device of claim 5 , wherein the pruning pixels of views comprises replacing the value of the pixels by a determined value.
7 . The method of claim 5 , wherein the acyclic graph is signaled in the data stream as a list comprising, for each view of the multi-view frame, linked views.
8 . A method of decoding views of a multi-view frame from a data stream, the method comprising:
obtaining pruned views of the multi-view frame from the data stream and at least one basic view being unpruned;
obtaining an explicitly stored acyclic graph data structure from the data stream, the acyclic graph linking views of the multi-view frame, links of the acyclic graph being representative of a pruning precedence relation, the at least one basic view of the multi-view frame having no pruning precedence link; and
generating a viewport frame according to a viewing pose by determining the contribution of each view of the multi-view frame as a function of the pruning precedence relations of the acyclic graph, wherein the reconstruction of pruned pixels from the acyclic graph is performed in a single pass along graph paths without requiring sequential multi-phase pruning and without use of patch-group metadata, weights per patch, or per-visibility lists.
9 . The method of claim 8 , wherein a pruned pixel of a pruned view has a determined value.
10 . The method of claim 9 , wherein the determined value is not a color value or a depth value.
11 . The method of claim 10 , wherein the determined value comprises a unique marker value indicating pruning status that is neither a valid pixel color nor a depth, enabling efficient detection at the decoder.
12 . The method of claim 8 , wherein the acyclic graph is signaled in the data stream as a list comprising, for each view of the multi-view frame, linked views.
13 . The method of claim 8 , wherein reconstruction of pruned pixels from the acyclic graph is performed without use of patch-group metadata, weights per patch, or per-visibility lists.
14 . A device for decoding views of a multi-view frame from a data stream, the device comprising a processor configured for:
obtaining pruned views of the multi-view frame from the data stream and at least one basic view being unpruned;
obtaining an explicitly stored acyclic graph data structure from the data stream, the acyclic graph linking views of the multi-view frame, links of the acyclic graph being representative of a pruning precedence relation, the at least one basic view of the multi-view frame having no pruning precedence link; and
generating a viewport frame according to a viewing pose by determining the contribution of each view of the multi-view frame as a function of the pruning precedence relations of the acyclic graph, wherein the reconstruction of pruned pixels from the acyclic graph is performed in a single pass along graph paths without requiring sequential multi-phase pruning and without use of patch-group metadata, weights per patch, or per-visibility lists.
15 . The device of claim 14 , wherein a pruned pixel of a pruned view has a determined value.
16 . The device of claim 15 , wherein the determined value is not a color value or a depth value.
17 . The device of claim 14 , wherein the acyclic graph is signaled in the data stream as a list comprising, for each view of the multi-view frame, linked views.
18 . A non-transitory computer readable storage medium comprising instructions which, when executed by one or more processors, cause the one or more processors to perform the method of claim 1 .
19 . A non-transitory computer readable storage medium comprising instructions which, when executed by one or more processors, cause the one or more processors to perform the method of claim 8 .
20 . A non-transitory computer readable storage medium comprising instructions which, when executed by one or more processors, cause the one or more processors to:
store data representative of views of a multi-view frame comprising pruned views and at least one basic view being unpruned; and
store data representative of an explicitly stored acyclic graph data structure linking views of the multi-view frame, links of the graph being representative of a view pruning precedence relation, the at least one basic view of the multi-view frame having no pruning precedence link, wherein the acyclic graph encodes both basic and additional views in a single unified pruning hierarchy enabling pruning and reconstruction in a single pass without requiring sequential multi-phase pruning or reliance on patch-group metadata, weights per patch, or per-visibility lists.
21 . The non-transitory computer readable storage medium of claim 20 , wherein a pruned pixel of a pruned view has a determined value.
22 . The non-transitory computer readable storage medium of claim 21 , wherein the determined value is not a color value or a depth value.
23 . The non-transitory computer readable storage medium of claim 20 , wherein the acyclic graph is signaled in the data stream as a list comprising, for each view of the multi-view frame, linked views.