Claims
- 1. A decoder for decoding compressed video data to reconstruct video data that is at least an approximation of uncompressed video data encoded as the compressed video data, wherein the video data comprises a sequence of a plurality of image frames comprising key frames and nonkey frames, the decoder comprising:
a current frame buffer for storing at least a part of a current frame being decoded from the compressed video data; a reference frame buffer for storing at least a part of a reference frame, wherein the reference frame is a frame that was used in the encoding of the current frame and a frame that is decodable from the compressed video data prior to the decoding of the current frame; a segmenter that generates at least a part of a segmentation of the reference frame, wherein the segmentation is an assignment of some or all of the pixels of the reference frame to segments based on at least one of pixel color values of the pixels and location of the pixels in the reference frame; and a nonkey frame generator that regenerates, when the current frame is a nonkey frame, all or part of the current frame into the current frame buffer using kinetic information about the current frame from the compressed video data and using at least a part of the segmentation of the reference frame generated by the segmenter.
- 2. The decoder of claim 1, wherein the decoder is adapted to process kinetic information that includes segment translation relating the pixels of a segment in the reference frame to pixels in a translated position in the current frame.
- 3. The decoder of claim 1, wherein segmenter is adapted to generate a segmentation for a given reference frame that is exactly the same as a segmentation done for the encoding of the given reference frame.
- 4. The decoder of claim 1, wherein segmenter is adapted to generate a segmentation for a given reference frame that is not necessarily exactly the same as a segmentation done for the encoding of the given reference frame.
- 5. The decoder of claim 1, wherein the compressed video data encodes at least one reference frame such that the encoding of the frame is not lossless and wherein the segmenter generates a segmentation of a reconstruction of a compressed version of the reference frame that takes into account the losses of information due to compression of the reference frame.
- 6. The decoder of claim 1, wherein the decoder is adapted to decode other frames using segment-specific kinetic information of a decoded frame.
- 7. The decoder of claim 1, wherein the decoder includes logic to decompress video data using a plurality of segmentation schemes.
- 8. The decoder of claim 7, wherein the decoder includes logic to decompress video data based on indications of which of a plurality of segmentation schemes is used.
- 9. The decoder of claim 8, wherein the indications comprise frame-by-frame indications.
- 10. The decoder of claim 7, wherein the decoder includes logic to deduce which of a plurality of segmentation schemes was used for a given reference frame from other data extracted from the compressed video data.
- 11. The decoder of claim 1, wherein the decoder includes logic to decompress the compressed video data using partial segmentation information.
- 12. The decoder of claim 1, wherein the decoder includes logic to decompress the compressed video data using segmentation hints.
- 13. The decoder of claim 12, wherein the segmentation hints include indications of differences between a segmentation of a reference frame and a segmentation of a reconstructed nonlossless compression of the reference frame, thereby allowing the decoder to reconstruct and use a segmentation of the uncompressed reference frame.
- 14. The decoder of claim 12, wherein the decoder is adapted to use the segmentation hints to partially or fully synchronize the decoder segmentation to a segmentation used to compress the video data.
- 15. The decoder of claim 1, wherein the decoder includes logic to decompress the compressed video data using partial segment canonical information, wherein canonical information indicates an ordering of elements.
- 16. The decoder of claim 1, wherein the decoder can partially or fully synchronize a decoder canonicalization to a canonicalization used to compress the video data using canonical hints from the compressed video data.
- 17. The decoder of claim 1, wherein the reference frame is a key frame, decodable without reference to other frames.
- 18. The decoder of claim 1, wherein the reference frame is a nonkey frame.
- 19. The decoder of claim 1, wherein the decoder is adapted to process a reference frame and a nonkey frame regardless of their relative order in a video sequence.
- 20. The decoder of claim 1, wherein the decoder is adapted to process the compressed video data using segment-by-segment residue data from the compressed video data.
- 21. The decoder of claim 20, wherein the residue data is coded at least in part on segmentation information available to the decoder from previously coded frames.
- 23. The decoder of claim 1, wherein the compressed video data includes metadata associated with segments and the decoder is adapted to include the metadata in the decoder output stream such that it remains associated with segments.
- 24. A method of decoding compressed video data to reconstruct video data that is at least an approximation of uncompressed video data encoded as the compressed video data, wherein the video data comprises a sequence of a plurality of image frames comprising key frames and nonkey frames, the method comprising:
decoding a first key frame into a reconstructed first key frame, wherein the first key frame is a frame encoded without requiring knowledge of contents of another frame; segmenting the reconstructed first key frame into a first segmentation, wherein the segmentation is an assignment of some or all of the pixels of the reconstructed first key frame to segments based on at least one of pixel color values of the pixels and location of the pixels in the reconstructed first key frame; and decoding a first nonkey frame to a reconstructed first nonkey frame using the reconstructed first key frame as a reference frame, comprising:
a) associating segments of the reference frame to pixels of the first nonkey frame based on kinetic information about the first nonkey frame from the compressed video data; and b) determining content of the reconstructed first nonkey frame from results of the step of associating and at least some residue data.
- 25. The method of claim 24, further comprising:
segmenting the reconstructed first nonkey frame to form a second segmentation; decoding a second nonkey frame to a reconstructed second nonkey frame using the reconstructed first nonkey frame and the second segmentation.
- 26. The method of claim 24, further comprising decoding a second nonkey frame using the reconstructed first key frame and the first segmentation.
- 27. The method of claim 24, wherein the step of determining content of the reconstructed first nonkey frame comprises:
processing kinetic data associated with the first nonkey frame; processing model data associated with the first nonkey frame; and processing residue data associated with the first nonkey frame, wherein the residue data represents differences between an unencoded first nonkey frame and a frame wherein the reference frame, the kinetic data and the model data have been applied.
- 28. The method of claim 24, wherein a step of segmenting a frame is performed according to one of a plurality of segmentation schemes.
- 29. The method of claim 28, wherein indications of which of the plurality of segmentation schemes is used are extracted from the compressed video data.
- 30. The method of claim 29, wherein the indications comprise frame-by-frame indications.
- 31. The method of claim 24, wherein the step of segmenting a frame is performed using partial segmentation information extracted from the compressed video data.
- 32. The method of claim 24, wherein the step of segmenting a frame is performed using segmentation hints extracted from the compressed video data.
- 33. The method of claim 32, wherein the segmentation hints include indications of differences between a segmentation of a reference frame and a segmentation of a reconstructed nonlossless compression of the reference frame, thereby allowing for reconstruction and use of a segmentation of the uncompressed reference frame.
- 34. The method of claim 32, further comprising using the segmentation hints to partially or fully synchronize the decoder segmentation to a segmentation used to compress the video data.
- 35. The method of claim 24, further comprising using partial segment canonical information, wherein canonical information indicates an ordering of elements.
- 36. The method of claim 24, further comprising using canonical hints from the compressed video data to partially or fully synchronize a decoder canonicalization to a canonicalization used to compress the video data.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. application Ser. No. 09/550,705, filed on Apr. 17, 2000, the complete disclosure of which is incorporated herein by reference for all purposes.
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
09550705 |
Apr 2000 |
US |
| Child |
10105055 |
Feb 2002 |
US |