Bifurcated transmission of 3D data encoded as octrees
In certain embodiments, higher-level octree telepresence data for a point cloud of a 3D object is transmitted using a reliable transport mechanism that ensures successful transmission, e.g., via re-transmission of dropped packets, and lower-level octree data for the point cloud is transmitted using a non-reliable transport mechanism that does not guarantee successful transmission. When the lower-level data is contained in one or more of the bottom-most layers in the octree representation, at least some of the point cloud might be able to be reconstructed using successfully received data even when some lower-level data is lost and not re-transmitted. Using non-reliable transmission can reduce latency by avoiding time-consuming re-transmissions. The resulting reconstructed point cloud will be incomplete, but it might be sufficiently complete to provide satisfactory user experience with lower latency that using reliable transport for the entire octree.
1 . A machine-implemented method for transmitting a multi-level tree representation of a three-dimensional (3D) telepresence point cloud for a 3D object, the method comprising:
a transmitter generating the tree representation of the 3D telepresence point cloud for the 3D object;
the transmitter transmitting higher-level, reliable 3D telepresence data of the tree representation to a receiver using a reliable transport mechanism, wherein lost higher-level, reliable 3D telepresence data needs to be retransmitted; and
the transmitter transmitting lower-level, unreliable 3D telepresence data of the tree representation to the receiver using a non-reliable transport mechanism, wherein:
lost lower-level, unreliable 3D telepresence data does not need to be retransmitted;
the lower-level, unreliable 3D telepresence data corresponds to two or more bottom levels in the tree representation;
a number of nodes in each of the two or more bottom levels is equal to a number of points in the 3D telepresence point cloud; and
the nodes in the two or more bottom levels have a one-to-one correspondence.
2 . The method of claim 1 , wherein the lower-level data is reordered lower-level data to spread burst noise over the point cloud.
3 . The method of claim 1 , wherein each level in the tree representation has a unique sequence of possible index values for the level's occupancy data.
4 . The method of claim 1 , wherein the tree representation is an octree representation.
5 . The method of claim 1 , wherein the transmitter strategically discards some of the 3D telepresence data.
6 . A transmitter for transmitting a multi-level tree representation of a three-dimensional (3D) telepresence point cloud for a 3D object, the transmitter comprising
at least one processor; and
at least one memory storing instructions that, upon being executed by the at least one processor, cause the transmitter at least to:
generate the tree representation of the 3D telepresence point cloud for the 3D object;
transmit higher-level, reliable 3D telepresence data of the tree representation to a receiver using a reliable transport mechanism, wherein lost higher-level, reliable 3D telepresence data needs to be retransmitted; and
transmit lower-level, unreliable 3D telepresence data of the tree representation to the receiver using a non-reliable transport mechanism, wherein:
lost lower-level, unreliable 3D telepresence data does not need to be retransmitted;
the lower-level, unreliable 3D telepresence data corresponds to two or more bottom levels in the tree representation;
a number of nodes in each of the two or more bottom levels is equal to a number of points in the 3D telepresence point cloud; and
the nodes in the two or more bottom levels have a one-to-one correspondence.
7 . The transmitter of claim 6 , wherein the lower-level data is reordered lower-level data to spread burst noise over the point cloud.
8 . The transmitter of claim 6 , wherein each level in the tree representation has a unique sequence of possible index values for the level's occupancy data.
9 . The transmitter of claim 6 , wherein the tree representation is an octree representation.
10 . The transmitter of claim 6 , wherein the transmitter is configured to strategically discard some of the 3D telepresence data.
11 . A machine-implemented method for receiving a multi-level tree representation of a three-dimensional (3D) telepresence point cloud for a 3D object, the method comprising:
a receiver receiving higher-level, reliable 3D telepresence data of the tree representation from a transmitter via a reliable transport mechanism, wherein lost higher-level, reliable 3D telepresence data needs to be retransmitted;
the receiver receiving lower-level, unreliable 3D telepresence data of the tree representation from the transmitter via a non-reliable transport mechanism, wherein lost lower-level, unreliable 3D telepresence data does not need to be retransmitted; and
the receiver decoding the tree representation to reconstruct the 3D telepresence point cloud for the 3D object, wherein:
the lower-level, unreliable 3D telepresence data corresponds to two or more bottom levels in the tree representation;
a number of nodes in each of the two or more bottom levels is equal to a number of points in the 3D telepresence point cloud; and
the nodes in the two or more bottom levels have a one-to-one correspondence.
12 . The method of claim 11 , wherein the lower-level data is reordered lower-level data to spread burst noise over the point cloud.
13 . The method of claim 11 , wherein each level in the tree representation has a unique sequence of possible index values for the level's occupancy data.
14 . The method of claim 10 , wherein the tree representation is an octree representation.
15 . A receiver for receiving a multi-level tree representation of a three-dimensional (3D) telepresence point cloud for a 3D object, the receiver comprising:
at least one processor; and
at least one memory storing instructions that, upon being executed by the at least one processor, cause the receiver at least to:
receive higher-level, reliable 3D telepresence data of the tree representation from a transmitter via a reliable transport mechanism, wherein lost higher-level, reliable 3D telepresence data needs to be retransmitted;
receive lower-level, unreliable 3D telepresence data of the tree representation from the transmitter via a non-reliable transport mechanism, wherein lost lower-level, unreliable 3D telepresence data does not need to be retransmitted; and
decode the tree representation to reconstruct the 3D telepresence point cloud for the 3D object, wherein:
the lower-level, unreliable 3D telepresence data corresponds to two or more bottom levels in the tree representation;
a number of nodes in each of the two or more bottom levels is equal to a number of points in the 3D telepresence point cloud; and
the nodes in the two or more bottom levels have a one-to-one correspondence.
16 . The receiver of claim 15 , wherein the lower-level data is reordered lower-level data to spread burst noise over the point cloud.
17 . The receiver of claim 15 , wherein each level in the tree representation has a unique sequence of possible index values for the level's occupancy data.
18 . The receiver of claim 15 , wherein the tree representation is an octree representation.