Claims
- 1. A method of decoding a stream of video image data transmitted as independent image frames at a predetermined rate, the stream of video image data consisting of plural marcoblocks transmitted in a nonsequential order, comprising the steps of:
- defining a sub-frame corresponding to a proper subset of said full frame;
- determining if a currently received macroblock is within said sub-frame; and
- decoding said sub-frame.
- 2. The method of claim 1, wherein:
- said step of decoding said sub-frame takes place at a sub-frame decode rate equal to said predetermined rate.
- 3. The method of claim 1, wherein:
- said step of decoding said sub-frame takes place at a sub-frame decode rate less than said predetermined rate.
- 4. The method of claim 1, wherein:
- said sub-frame consists of whole macroblocks.
- 5. The method of claim 4, further comprising:
- forming a table having one entry corresponding to each macroblock and storing within said each entry a transmission order within the video frame for said corresponding macroblock;
- said step of defining said sub-frame includes selecting a plurality of contiguous macroblocks; and
- said step of determining if said currently received macroblock is within said sub-frame includes determining if said currently received macroblock has a transmission order entry in said table corresponding to one of said contiguous macroblocks.
- 6. The method of claim 1, wherein each macroblock consists of a plurality of contiguous blocks and wherein:
- said sub-frame consists of whole macroblocks.
- 7. The method of claim 6, wherein each macroblock includes luminance data for each included block and chrominance data for the macroblock as a whole, the method wherein:
- said step of decoding said sub-frame includes decoding said luminance data for each included block of each macroblock and ignoring said chrominance data.
- 8. The method of claim 6, wherein each macroblock includes plural data groups at least one corresponding to each block, said blocks represented by data of differing lengths whereby if the data corresponding to a block does not fill a data group allocated to that block the data is marked by an end of data marker separating that data from free data space until the end of the data group and if the data corresponding to a block overflows a data group allocated to that block the overflow data is placed in a first data group within said group of marcoblocks having free data space, the method wherein:
- said step of decoding said sub-frame includes decoding data groups allocated to blocks employing only data prior to the first appearing of an end of data marker or an end of the data group, and ignoring data following an end of data marker.
- 9. The method of claim 1, further comprising:
- decoding a full frame of video image data at a full frame decode rate less than said sub-frame decode rate.
- 10. A method of operating a programmable computer for decoding a stream of video image data transmitted as independent image frames at a predetermined rate, the stream of video image data consisting of plural marcoblocks transmitted in a nonsequential order, comprising the steps of:
- programming the computer to define a sub-frame corresponding to a proper subset of said full frame;
- programming the computer to determine if a currently received macroblock is within said sub-frame;
- programming the computer to decode said sub-frame; and
- programming the computer to display said decoded sub-frame.
- 11. The method of claim 10, wherein:
- said step of programming the computer to decode said sub-frame decodes the sub-frame at a sub-frame decode rate equal to said predetermined rate.
- 12. The method of claim 10, wherein:
- said step of programming the computer to decode said sub-frame decodes the sub-frame at a sub-frame decode rate less than said predetermined rate.
- 13. The method of claim 10, wherein:
- said sub-frame consists of whole macroblocks.
- 14. The method of claim 13, further comprising:
- programming the computer to form a table having one entry corresponding to each macroblock and storing within each entry a transmission order within the video frame for said corresponding macroblock;
- said step of programming the computer to define said sub-frame includes selecting a plurality of contiguous macroblocks; and
- said step of programming the computer to determine if said currently received macroblock is within said sub-frame includes determining if said currently received macroblock has a transmission order entry in said table corresponding to one of said contiguous macroblocks.
- 15. The method of claim 10, wherein each macroblock consists of a plurality of contiguous blocks and wherein:
- said sub-frame consists of whole macroblocks.
- 16. The method of claim 15, wherein each macroblock includes luminance data for each included block and chrominance data for the macroblock as a whole, the method wherein:
- said step of programming the computer to decode said sub-frame includes programming the computer to decode said luminance data for each included block of each macroblock and ignore said chrominance data.
- 17. The method of claim 15, wherein each macroblock includes plural data groups at least one corresponding to each block, said blocks represented by data of differing lengths whereby if the data corresponding to a block does not fill a data group allocated to that block the data is marked by an end of data marker separating that data from free data space until the end of the data group and if the data corresponding to a block overflows a data group allocated to that block the overflow data is placed in a first data group within said group of marcoblocks having free data space, the method wherein:
- said step of programming the computer to decode said sub-frame includes programming the computer to decode data groups allocated to blocks employing only data prior to the first appearing of an end of data marker or an end of the data group, and ignore data following an end of data marker.
- 18. The method of claim 10, further comprising:
- programming the computer to decode a full frame of video image data at a full frame decode rate less than said sub-frame decode rate; and
- programming the computer to display said decoded full frame.
- 19. A method of decoding a stream of video image data transmitted as independent image frames at a predetermined rate comprising the steps of:
- decoding a full frame of image data at a full frame decode rate much less than said predetermined rate; and
- decoding a sub-frame corresponding to a proper subset of said full frame at a sub-frame decode rate higher than said full frame decode rate.
- 20. The method of claim 19, wherein:
- said sub-frame decode rate equals said predetermined rate.
- 21. The method of claim 19, wherein:
- said sub-frame decode rate is less than said predetermined rate.
- 22. The method of claim 19, wherein the stream of video image data consists of plural marcoblocks transmitted in a nonsequential order, said method wherein:
- said step of decoding said sub-frame includes determining if a received macroblock includes data within said sub-frame.
- 23. The method of claim 22, wherein:
- said sub-frame consists of whole macroblocks.
- 24. The method of claim 22, wherein the macroblocks each include data corresponding to plural contiguous blocks, said method wherein:
- said sub-frame consists of whole blocks.
- 25. The method of claim 24, wherein each macroblock includes luminance data for each included block and chrominance data for the macroblock as a whole, the method wherein:
- said step of decoding said sub-frame includes decoding said luminance data for each included block of each macroblock and ignoring said chrominance data.
- 26. The method of claim 24, each macroblock having plural data groups corresponding to each block, said blocks represented by data of differing lengths whereby if the data corresponding to a block does not fill the data group allocated to that block the data is marked by an end of data marker separating that data from free data space until the end of the data group and if the data corresponding to a block overflows the data group allocated to that block the overflow data is placed in a first data group within said group of marcoblocks having free data space, the method wherein:
- said step of decoding said sub-frame includes decoding data groups allocated to blocks employing only data prior to the first appearing of an end of data marker or an end of the data group and ignoring data following an end of data marker.
- 27. The method of claim 19, wherein the stream of video image data consists of plural macroblocks, each macroblock including luminance data for each included block and chrominance data for the macroblock as a whole, the method wherein:
- said step of decoding said full frame includes decoding said luminance data for each included block of each macroblock and ignoring said chrominance data.
- 28. The method of claim 19, wherein the stream of video image data consists of plural marcoblocks transmitted in plural groups of noncontiguous macroblocks, each macroblock including data corresponding to plural contiguous blocks, each macroblock having plural data groups corresponding to each block, said blocks represented by data of differing lengths whereby if the data corresponding to a block does not fill the data group allocated to that block the data is marked by an end of data marker separating that data from free data space until the end of the data group and if the data corresponding to a block overflows the data group allocated to that block the overflow data is placed in a first data group within said group of marcoblocks having free data space, the method wherein:
- said step of decoding said full frame includes decoding data groups allocated to blocks employing only data prior to the first appearing of an end of data marker or an end of the data group and ignoring data following an end of data marker.
- 29. The method of claim 19, wherein the stream of video image data consists of plural macroblocks, each macroblock including luminance data for each included block and chrominance data for the macroblock as a whole, the method wherein:
- said step of decoding said sub-frame includes decoding said luminance data for each included block of each macroblock and ignoring said chrominance data.
- 30. The method of claim 19, wherein the stream of video image data consists of plural marcoblocks transmitted in plural groups of noncontiguous macroblocks, each macroblock including data corresponding to plural contiguous blocks, each macroblock having plural data groups corresponding to each block, said blocks represented by data of differing lengths whereby if the data corresponding to a block does not fill the data group allocated to that block the data is marked by an end of data marker separating that data from free data space until the end of the data group and if the data corresponding to a block overflows the data group allocated to that block the overflow data is placed in a first data group within said group of marcoblocks having free data space, the method wherein:
- said step of decoding said sub-frame includes decoding data groups allocated to blocks employing only data prior to the first appearing of an end of data marker or an end of the data group and ignoring data following an end of data marker.
Parent Case Info
This application claims priority under 35 USC 119(e) (1) of the provisional application No. 60/030,995, filed Nov. 15, 1996.
US Referenced Citations (7)