Claims
- 1. A method for encoding multiple frame image data comprising:
a) supplying a sequence of image frames to an encoder; b) providing information to said encoder identifying a characteristic of said sequence of image frames which may be employed by said encoder in determining a motion vector for at least one of said image frames without performing a motion vector search; and c) encoding said at least one frame in said sequence by employing said characteristic identifying information and image information relating to at least one previous image frame in said sequence.
- 2. The method of claim 1, wherein said sequence of image frames is generated by an Internet browser application, and comprises sequential images of one or more Internet Web pages.
- 3. The method of claim 1, wherein said characteristic identifying information comprises scrolling coordinate information.
- 4. The method of claim 3, wherein said step of encoding further comprises:
1) calculating at least one motion vector for a frame to be encoded using said scrolling coordinate information; and 2) encoding said frame to be encoded as an inter frame using said at least one motion vector and said image information for a previous frame.
- 5. The method of claim 4, wherein said characteristic information further includes location information identifying the location of at least one animation window in an image, and said step of encoding further comprises encoding a portion of said frame containing said animation window as an intra fame.
- 6. The method of claim 3, wherein each of said frames in said sequence is comprised of a plurality of multiple pixel macroblocks, and said step of encoding further comprises:
1) comparing pixel intensities in a first macroblock of a frame to be encoded with pixel intensities of a corresponding macroblock at a same location in a previous frame; 2) if the difference in pixel intensities between said macroblock to be encoded and said corresponding macroblock is below a predetermined threshold, then setting a motion vector to zero for said macroblock to be encoded, and, if any uncoded macroblocks remain in said frame to be encoded, returning to step 1 for a next macroblock in said frame; 3) if the difference in pixel intensities between said macroblock to be encoded and said corresponding macroblock is above a predetermined threshold, then comparing said macroblock to be encoded with a corresponding shifted macroblock in a previous frame that is shifted in direction and offset in accordance with said scrolling coordinate information; 4) if the difference in pixel intensities between said macroblock to be encoded and said corresponding shifted macroblock is below a predetermined threshold, then employing said scrolling coordinate information to calculate a motion vector for said macroblock to be encoded, and, if any uncoded macroblocks remain in said frame to be encoded, returning to step 1 for a next macroblock in said frame; and 5) if the difference in pixel intensities between said macroblock to be encoded and said corresponding shifted macroblock is above a predetermined threshold, then encoding said macroblock to be encoded as an intra-macroblock, and, if any uncoded macroblocks remain in said frame to be encoded, returning to step 1 for a next macroblock in said frame.
- 7. The method of claim 6, wherein steps 3 and 4 are performed before steps 1 and 2 for a next macroblock to be encoded if the difference in pixel intensities between a present macroblock to be encoded and said corresponding shifted macroblock is below a predetermined threshold, and the next macroblock to be encoded is adjacent said present macroblock to be encoded.
- 8. The method of claim 1, wherein said characteristic identifying information comprises location information identifying the location of at least one animation window in an image, and said step of encoding further comprises encoding said frame to be encoded using said location information.
- 9. The method of claim 8, wherein each of said frames in said sequence is comprised of a plurality of multiple pixel macroblocks, and said step of encoding further comprises:
1) employing said location information to identify one or more macroblocks in a frame to be encoded which include at least a portion that forms part of said at least one animation window; 2) encoding said one or more macroblocks as intra-macroblocks; and 3) encoding any remaining macroblocks in said frame to be encoded as forward predictive coded macroblocks, with a zero motion vector.
- 10. The method of claim 8, wherein each of said frames in said sequence is comprised of a plurality of multiple pixel macroblocks, and said step of encoding further comprises:
1) employing said location information to identify one or more macroblocks in a frame to be encoded which include at least a portion that forms part of said at least one animation window; 2) encoding said one or more macroblocks by employing a motion vector search algorithm; and 3) encoding any remaining macroblocks in said frame to be encoded as forward predictive coded macroblocks, with a zero motion vector.
- 11. The method of claim 1, wherein said encoding is performed using an MPEG video encoding format.
- 12. A system for encoding multiple frame image data comprising:
a) an image generating application for generating a sequence of image frames to be encoded, said application including information identifying a characteristic of said sequence of image frames; and b) an encoder for receiving said sequence of image frames from said application and encoding said frames, said encoder obtaining said information from said application identifying a characteristic of said sequence of image frames, and encoding at least a portion of at least one frame in said sequence without employing a motion vector search algorithm by employing said characteristic identifying information and image information relating to at least one previous image frame in said sequence.
- 13. The system of claim 12, wherein said image generating application comprises an Internet browser application, and said sequence of image frames comprise sequential images of one or more Internet Web pages.
- 14. The system of claim 13, wherein said encoder is an MPEG video encoder.
- 15. The system of claim 13, wherein said browser application and said encoder are disposed in a cable television system headend, and a plurality of downstream communication channels is provided for transmitting encoded Internet Web page data from said encoder to one or more remotely located set top converter boxes.
- 16. The system of claim 12, wherein said characteristic identifying information comprises scrolling coordinate information which is generated by said image generating application, and said encoder includes programming for generating motion vectors using said scrolling coordinate information.
- 17. The system of claim 16, wherein said characteristic identifying information further comprises location information identifying the location of one or more animation windows in an image frame.
- 18. The system of claim 16, wherein each of said frames in said sequence is comprised of a plurality of multiple pixel macroblocks, and said encoder further includes programming for carrying out the following steps:
1) comparing pixel intensities in a first macroblock of a frame to be encoded with pixel intensities of a corresponding macroblock at a same location in a previous frame; 2) if the difference in pixel intensities between said macroblock to be encoded and said corresponding macroblock is below a predetermined threshold, then setting a motion vector to zero for said macroblock to be encoded, and, if any uncoded macroblocks remain in said frame to be encoded, returning to step 1 for a next macroblock in said frame; 3) if the difference in pixel intensities between said macroblock to be encoded and said corresponding macroblock is above a predetermined threshold, then comparing said macroblock to be encoded with a corresponding shifted macroblock in a previous frame that is shifted in direction and offset in accordance with said scrolling coordinate information; 4) if the difference in pixel intensities between said macroblock to be encoded and said corresponding shifted macroblock is below a predetermined threshold, then employing said scrolling coordinate information to calculate a motion vector for said macroblock to be encoded, and, if any uncoded macroblocks remain in said frame to be encoded, returning to step 1 for a next macroblock in said frame; and 5) if the difference in pixel intensities between said macroblock to be encoded and said corresponding shifted macroblock is above a predetermined threshold, then encoding said macroblock to be encoded as an intra-macroblock, and, if any uncoded macroblocks remain in said frame to be encoded, returning to step 1 for a next macroblock in said frame.
- 19. The system of claim 18, wherein said encoder further includes programming for performing steps 3 and 4 before steps 1 and 2 for a next macroblock to be encoded if the difference in pixel intensities between a present macroblock to be encoded and said corresponding shifted macroblock is below a predetermined threshold, and the next macroblock to be encoded is adjacent said present macroblock to be encoded.
- 20. The system of claim 12, wherein said characteristic identifying information comprises location information identifying the location of at least one animation window in an image, wherein each of said frames in said sequence is comprised of a plurality of multiple pixel macroblocks, and wherein said encoder further includes means for:
1) employing said location information to identify one or more macroblocks in a frame to be encoded which include at least a portion that forms part of said at least one animation window; 2) encoding said one or more macroblocks as intra-macroblocks; and 3) encoding any remaining macroblocks in said frame to be encoded as forward predictive coded macroblocks, with a zero motion vector.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a Continuation of U.S. application Ser. No. 09/093,879, filed Jun. 9, 1998.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09093879 |
Jun 1998 |
US |
Child |
09866703 |
May 2001 |
US |