Claims
- 1. A video decoder adapted to decode robustly encoded video information comprising:
a demultiplexer adapted to parse data from the video bitstream; motion decoder configured to receive motion information from the demultiplexer, where the motion decoder is configured to be able to decode motion information for a standard motion vector, which is referenced to a previous frame, where the motion decoder is further configured to be able to decode motion information from a redundant motion vector, which is referenced to a frame prior to the previous frame; a texture decoder configured to receive texture information from the demultiplexer and decode a texture of the VOP; and a composition circuit adapted to combine multiple VOPs to generate a video frame.
- 2. The video decoder as defined in claim 1, further comprising a shape decoder configured to receive shape information from the demultiplexer and decodes a shape of a video object plane (VOP) from the received data.
- 3. The video decoder as defined in claim 1, wherein the motion decoder is configured to decode motion from the standard motion vector when the previous frame is available.
- 4. The video decoder as defined in claim 1, wherein the motion decoder is configured to decode motion from the redundant motion vector when the previous frame is not available.
- 5. The video decoder as defined in claim 1, wherein the motion decoder is configured to decode motion from both the standard motion vector and the redundant motion vector and is further configured to select between a VOP reconstructed from the standard motion vector and a VOP reconstructed from the redundant motion vector.
- 6. The video decoder as defined in claim 1, wherein the motion decoder is configured to decode video bitstreams that are compliant with MPEG-4 syntax.
- 7. A video object plane (VOP) decoder in a video decoder that is adapted to decode a VOP in a first frame, comprising:
a first memory configured to store a reconstructed VOP from a second frame, where the second frame is a frame immediately prior to the first frame; a second memory configured to store a reconstructed VOP from a third frame, where the third frame is a frame that is prior to the second frame; a first motion decoder configured to decode a standard motion vector from an encoded bitstream that is related to motion of the first reconstructed VOP in the first memory; a second motion decoder configured to decode a redundant motion vector from the encoded bitstream that is related to motion of the second reconstructed VOP in the second memory; and a motion compensator that is configured to reconstruct a VOP at least in part from information provided by at least one of the first motion decoder and the second motion decoder.
- 8. The VOP decoder as defined in claim 7, wherein the third frame stored by the second memory is a frame that is immediately prior to the second frame.
- 9. The VOP decoder as defined in claim 7, further comprising a selector module adapted to select between a VOP reconstructed at least in part from the standard motion vector and a VOP reconstructed at least in part from the redundant motion vector.
- 10. A process of decoding a video bitstream that includes redundant motion vectors for at least some predictive-coded video object planes (P-VOPs), the process comprising:
receiving the video bitstream; decoding video object planes (VOPs) of a first frame from the video bitstream; detecting that a first reference VOP from a second frame is not available, where the second frame is a reference frame for a standard motion vector for a P-VOP of the first frame; retrieving a redundant motion vector from the video bitstream, where the redundant motion vector uses a second reference VOP from a third frame earlier in time than the second frame as a reference; and reconstructing the P-VOP from the redundant motion vector and the second reference VOP.
- 11. The process as defined in claim 10, wherein the third frame is a frame that is immediately earlier in time to the second frame.
- 12. The process as defined in claim 10, further comprising retrieving a value from the video bitstream that indicates which frame corresponds to the third frame, which is used as a reference by the redundant motion vector.
- 13. The process as defined in claim 10, wherein the process is performed in real time.
- 14. The process as defined in claim 10, wherein the retrieving the redundant motion vector further comprises retrieving the redundant motion vector from a user data video packet in the video bitstream.
- 15. The process as defined in claim 10, wherein the receiving the video bitstream further comprises receiving the video bitstream through a wireless transmission.
- 16. A process of decoding a video bitstream that includes redundant motion vectors for at least some predictive-coded video object planes (P-VOPs), the process comprising:
receiving the video bitstream; decoding video object planes (VOPs) of a first frame from the video bitstream; retrieving a standard motion vector from the video bitstream to decode a P-VOP of the first frame, where the standard motion vector uses a first reference VOP from a second frame as a reference frame, where the second frame is immediately prior to the first frame; retrieving a redundant motion vector from the video bitstream, where the redundant motion vector uses a second reference VOP from a third frame earlier in time than the second frame as a reference; reconstructing a first P-VOP from the standard motion vector and the first reference VOP; reconstructing a second P-VOP from the redundant motion vector and the second reference VOP; and selecting one of the first P-VOP and the second P-VOP for use in the first frame.
- 17. The process as defined in claim 16, wherein the selecting is determined by comparing an error estimate of the first P-VOP against an error estimate with the second P-VOP.
- 18. The process as defined in claim 16, wherein the third frame is a frame that is immediately earlier in time to the second frame.
- 19. The process as defined in claim 16, further comprising retrieving a value from the video bitstream that indicates which frame corresponds to the third frame, which is used as a reference by the redundant motion vector.
- 20. The process as defined in claim 16, wherein the process is performed in real time.
- 21. The process as defined in claim 16, wherein the retrieving the redundant motion vector further comprises retrieving the redundant motion vector from a user data video packet in the video bitstream.
- 22. The process as defined in claim 16, wherein the receiving the video bitstream further comprises receiving the video bitstream through a wireless transmission.
- 23. A method of using a redundant motion vector that is present in an encoded video bitstream comprising:
determining that a standard motion vector cannot be used to reconstruct a first video object plane (VOP); retrieving the redundant motion vector from the encoded video bitstream; retrieving a reference frame that includes a reference VOP corresponding to the redundant motion vector, where the reference frame is at least two frames prior to a frame corresponding to the first VOP; and reconstructing the first VOP at least in part from the redundant motion vector and the reference VOP.
- 24. A method of using a redundant motion vector that is present in an encoded video bitstream comprising:
receiving a standard motion vector that is intended to be used to reconstruct a first video object plane (VOP) in a first frame; retrieving a first reference VOP, where the first reference VOP is selected from a second frame that is prior in time to the first frame; reconstructing a first temporary VOP from the standard motion vector and the first reference VOP; retrieving the redundant motion vector from the encoded video bitstream; retrieving a second reference VOP from a second reference frame that that is at least two frames prior to the first frame; reconstructing a second temporary VOP at least in part from the redundant motion vector and the second reference VOP; and selecting between the first temporary VOP and the second temporary VOP to provide the first VOP.
- 25. A method of using a reference frame for the reconstruction of a predictive-coded visual object plane (P-VOP), the method comprising:
storing at least one video frame as the reference frame, where the stored video frame is at least two frames prior to a video frame that is being decoded for presentation in real time; retrieving the stored video frame; and using the stored video frame as the reference frame for a corresponding motion vector.
- 26. A video decoder configured to decode a video bitstream that includes redundant motion vectors for at least some predictive-coded video object planes (P-VOPs), the video decoder comprising:
means for receiving the video bitstream; means for decoding video object planes (VOPS) of a first frame from the video bitstream; means for detecting that a first reference VOP from a second frame is not available, where the second frame is a reference frame for a standard motion vector for a P-VOP of the first frame; means for retrieving a redundant motion vector from the video bitstream, where the redundant motion vector uses a second reference VOP from a third frame earlier in time than the second frame as a reference; and means for reconstructing the P-VOP from the redundant motion vector and the second reference VOP.
RELATED APPLICATION
[0001] This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 60/273,443, filed Mar. 5, 2001; U.S. Provisional Application No. 60/275,859, filed Mar. 14, 2001; and U.S. Provisional Application No. 60/286,280, filed Apr. 25, 2001, the entireties of which are hereby incorporated by reference.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60273443 |
Mar 2001 |
US |
|
60275859 |
Mar 2001 |
US |
|
60286280 |
Apr 2001 |
US |