System and method of streaming 3-D wireframe animations
Optimal resilience to errors in packetized streaming 3-D wireframe animation is achieved by partitioning the stream into layers and applying unequal error correction coding to each layer independently to maintain the same overall bitrate. The unequal error protection scheme for each of the layers combined with error concealment at the receiver achieves graceful degradation of streamed animation at higher packet loss rates than approaches that do not account for subjective parameters such as visual smoothness.
1. A method comprising:
partitioning, via a processor, a three-dimensional wireframe mesh corresponding to a video scene according to (1) natural objects within the three-dimensional wireframe mesh and (2) motion of the natural objects, to yield a first partition comprising a first natural object having a first motion and a second partition comprising a second natural object having a second motion;
computing a first visual smoothness value for the first partition and a second visual smoothness value for the second partition;
organizing the first partition and the second partition into respective layers based on the first visual smoothness value and the second visual smoothness value; and
applying unequal error protection to the respective layers, wherein the unequal error protection applied to each layer of the respective layers is based on a respective bitrate value for each layer of the respective layers.
2. The method of claim 1 , wherein each layer of the respective layers comprises one of a node and a group of nodes within the three-dimensional wireframe mesh.
3. The method of claim 1 , further comprising encoding a particular layer in the respective layers to be resilient to packet errors.
4. The method of claim 1 , wherein a number of nodes within a portion of the respective layers is associated with an output bit rate of the portion.
5. The method of claim 1 , further comprising producing a three-dimensional packetized streaming signal representative of a scene comprising animation associated with the respective layers.
6. The method of claim 1 , further comprising partitioning the respective layers according to a visual importance of each layer of the respective layers.
7. The method of claim 1 , wherein the unequal error protection comprises optimizing a distribution of a bit budget allocation amongst the respective layers.
8. A system comprising:
a processor; and
a computer-readable storage medium storing instructions which, when executed by the processor, cause the processor to perform operations comprising:
partitioning a three-dimensional wireframe mesh corresponding to a video scene according to (1) natural objects within the three-dimensional wireframe mesh and (2) motion of the natural objects, to yield a first partition comprising a first natural object having a first motion and a second partition comprising a second natural object having a second motion;
computing a first visual smoothness value for the first partition and a second visual smoothness value for the second partition;
organizing the first partition and the second partition into respective layers based on the first visual smoothness value and the second visual smoothness value; and
applying unequal error protection to the respective layers, wherein the unequal error protection applied to each layer of the respective layers is based on a respective bitrate value for each layer of the respective layers.
9. The system of claim 8 , wherein each layer of the respective layers comprises one of a node and a group of nodes within the three-dimensional wireframe mesh.
10. The system of claim 8 , wherein the computer-readable storage medium stores additional instructions which, when executed by the processor, cause the processor to perform further operations comprising encoding a particular layer in the respective layers to be resilient to packet errors.
11. The system of claim 8 , wherein a number of nodes within a portion of the respective layers is associated with an output bit rate of the portion.
12. The system of claim 8 , wherein the computer-readable storage medium stores additional instructions which, when executed by the processor, cause the processor to perform further operations comprising producing a three-dimensional packetized streaming signal representative of a scene comprising animation associated with the respective layers.
13. The system of claim 8 , wherein the computer-readable storage medium stores additional instructions which, when executed by the processor, cause the processor to perform further operations comprising partitioning the respective layers according to a visual importance of each layer of the respective layers.
14. The system of claim 8 , wherein the unequal error protection comprises optimizing a distribution of a bit budget allocation amongst the respective layers.
15. A computer-readable storage device storing instructions which, when executed by a processor, cause the processor to perform operations comprising:
partitioning a three-dimensional wireframe mesh corresponding to a video scene according to (1) natural objects within the three-dimensional wireframe mesh and (2) motion of the natural objects, to yield a first partition comprising a first natural object having a first motion and a second partition comprising a second natural object having a second motion;
computing a first visual smoothness value for the first partition and a second visual smoothness value for the second partition;
organizing the first partition and the second partition into respective layers based on the first visual smoothness value and the second visual smoothness value; and
applying unequal error protection to the respective layers, wherein the unequal error protection applied to each layer of the respective layers is based on a respective bitrate value for each layer of the respective layers.
16. The computer-readable storage device of claim 15 , wherein each layer of the respective layers comprises one of a node and a group of nodes within the three-dimensional wireframe mesh.
17. The computer-readable storage device of claim 15 , further comprising encoding a particular layer in the respective layers to be resilient to packet errors.
18. The computer-readable storage device of claim 15 , wherein a number of nodes within a portion of the respective layers is associated with an output bit rate of the portion.
19. The computer-readable storage device of claim 15 , further comprising producing a three-dimensional packetized streaming signal representative of a scene comprising animation associated with the respective layers.
20. The computer-readable storage device of claim 15 , further comprising partitioning the respective layers according to a visual importance of each layer of the respective layers.