Claims
- 1. A method of encoding uncompressed video data to form compressed video data wherein the video data comprises a sequence of a plurality of image frames wherein at least some of the frames are encoded as nonkey frames that are encoded with reference to content of other, reference frames and segmentation of the reference frames, segmentation being 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, the method comprising:
encoding a first reference frame; segmenting the first reference frame into a set of segments; matching segments of the set of segments to pixels of a nonkey frame being encoded as the current frame; determining, for each of a plurality of matched segments, an encoder calculated motion vector for the matched segment, wherein the encoder calculated motion vector represents a change of position between the matched segment and corresponding pixels of the current frame; determining, for each of the plurality of matched segments, an encoder predicted motion vector for the matched segment from previously encoded frame content; and encoding the video data such that at least one prediction needs to be made at a decoder to decode the encoded video data.
- 2. The method of claim 1, wherein the encoding step comprises, for each of the plurality of matched segments, encoding a difference between the encoder calculated motion vector of the matched segment and the encoder predicted motion vector of the matched segment.
- 3. The method of claim 2, wherein the encoding step comprises, for each of the plurality of matched segments, alternately encoding the encoder calculated motion vector of the matched segment when the difference between the encoder calculated motion vector and the encoder predicted motion is greater than a predetermined difference.
- 4. The method of claim 1, further comprising a step of encoding unpredicted residue, wherein the unpredicted residue represents a difference between a frame represented by segments of the first reference frame modified according to the predicted motion vectors and the current frame.
- 5. The method of claim 2, further comprising a decoder for decompressing the video data, the decoder performing a method comprising the steps of:
decoding a first reference frame; segmenting the first reference frame into a second set of segments; matching the segments of the second set of segments to pixels of a nonkey frame being decoded as the current frame; determining, for each of the second set of segments, a decoder predicted motion vector for the matched segment from previously decoded frame content; and correcting each of the decoder predicted motion vectors by the difference between the encoder calculated motion vector of the matched segment and the encoder predicted motion of the matched segment.
- 6. The method of claim 5, wherein the previously decoded frame content includes the content of an intermediate frame between the first reference frame and the current frame.
- 7. The method of claim 1, wherein the motion vectors are encoded as a hierarchy of motion vectors.
- 8. The method of claim 1, wherein the step of determining a predicted motion vector comprises comparing matched segments over a plurality of frames and predicting the predicted motion vector from an expected inertial movement of the matched segment.
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, which is a non-provisional of and claims priority from U.S. application Ser. No. 60/129,854, filed on Apr. 17, 1999 and U.S. Application No. 60/129,853, filed on Apr. 17, 1999. The complete disclosures of these applications are incorporated herein by reference for all purposes.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60129854 |
Apr 1999 |
US |
|
60129853 |
Apr 1999 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09550705 |
Apr 2000 |
US |
Child |
10338089 |
Jan 2003 |
US |