Claims
- 1. A computer information product, comprising:
a computer readable medium; data stored on the computer readable medium that, when interpreted by a computer, defines a bitstream for compressed image data, comprising: for each image, a picture header followed by image scan data,
wherein the image scan data includes data corresponding to a plurality of macroblock rasterscans, wherein the data for each macroblock rasterscan includes data for a plurality of macroblocks for a band of lines in the image followed by padding, whereby data for each macroblock rasterscan terminates on a data boundary; and wherein the picture header references an image scan index that indicates a number of macroblock rasterscans in the image scan data and a number of lines per macroblock rasterscan, followed by entries of the index, and wherein each entry in the index includes an offset of the macroblock rasterscan in image scan.
- 2. The computer information product of claim 1, wherein the picture header references the image scan index by referencing an image descriptor, and wherein the image descriptor includes a reference to the image scan index.
- 3. A method for reading a bitstream of compressed image data, wherein the bitstream includes, for each image, a picture header followed by image scan data, wherein the image scan data includes data corresponding to a plurality of macroblock rasterscans, wherein the data for each macroblock rasterscan includes data for a plurality of macroblocks for a band of lines in the image followed by padding, whereby data for each macroblock rasterscan terminates on a data boundary; and wherein the picture header references an image scan index that indicates a number of macroblock rasterscans in the image scan data and a number of lines per macroblock rasterscan, followed by entries of the index, and wherein each entry in the index includes an offset of the macroblock rasterscan in image scan, the method comprising:
accessing the picture header to locate the image scan index; accessing the image scan index to locate, for each macroblock rasterscan, the offset of the macroblock rasterscan in the image scan data; retrieving each macroblock rasterscans according to the offsets from the image scan index.
- 4. The method of claim 3, further comprising decoding each of the macroblock rasterscans in parallel.
- 5. The method of claim 3, wherein the picture header references the image scan index by referencing an image descriptor, wherein the image descriptor includes a reference to the image scan index, wherein the accessing the picture header comprises:
accessing the picture header to locate the image descriptor; accessing the image descriptor to locate the image scan index.
- 6. A computer program product, comprising:
a computer readable medium; computer program instructions stored on the computer readable medium that, when executed by a computer, instruct the computer to perform a method for reading a bitstream of compressed image data, wherein the bitstream includes for each image, a picture header followed by image scan data, wherein the image scan data includes data corresponding to a plurality of macroblock rasterscans, wherein the data for each macroblock rasterscan includes data for a plurality of macroblocks for a band of lines in the image followed by padding, whereby data for each macroblock rasterscan terminates on a data boundary; and wherein the picture header references an image scan index that indicates a number of macroblock rasterscans in the image scan data and a number of lines per macroblock rasterscan, followed by entries of the index, and wherein each entry in the index includes an offset of the macroblock rasterscan in image scan, wherein the method comprises: accessing the picture header to locate the image scan index; accessing the image scan index to locate, for each macroblock rasterscan, the offset of the macroblock rasterscan in the image scan data; retrieving each macroblock rasterscans according to the offsets from the image scan index.
- 7. The computer program product of claim 6, wherein the method further comprises decoding each of the macroblock rasterscans in parallel.
- 8. The computer program product of claim 6, wherein the picture header references the image scan index by referencing an image descriptor, wherein the image descriptor includes a reference to the image scan index, wherein the accessing the picture header comprises:
accessing the picture header to locate the image descriptor; accessing the image descriptor to locate the image scan index.
- 9. A method for writing a bitstream of compressed image data, comprising:
for each image, defining a picture header followed by image scan data, including:
for each band of lines in the image, defining a bitstream in memory for a macroblock rasterscan using data for a plurality of macroblocks for the band of lines followed by padding that makes each macroblock rasterscan terminate on a data boundary; defining the image scan data to include data corresponding to a plurality of macroblock rasterscans; and defining an image scan index that indicates a number of macroblock rasterscans in the image scan data and a number of lines per macroblock rasterscan, followed by entries of the image scan index; creating entries in the image scan index such that each entry in the index includes an offset of the macroblock rasterscan in image scan; creating a reference in the picture header to the image scan index, and writing the picture header followed by the image scan data in the bitstream.
- 10. A computer program product, comprising:
a computer readable medium; computer program instructions stored on the computer readable medium that, when executed by a computer, instruct the computer to perform a method for writing a bitstream of compressed image data, comprising: for each image, defining a picture header followed by image scan data, including:
for each band of lines in the image, defining a bitstream in memory for a macroblock rasterscan using data for a plurality of macroblocks for the band of lines followed by padding that makes each macroblock rasterscan terminate on a data boundary; defining the image scan data to include data corresponding to a plurality of macroblock rasterscans; and defining an image scan index that indicates a number of macroblock rasterscans in the image scan data and a number of lines per macroblock rasterscan, followed by entries of the image scan index; creating entries in the image scan index such that each entry in the index includes an offset of the macroblock rasterscan in image scan; creating a reference in the picture header to the image scan index, and writing the picture header followed by the image scan data in the bitstream.
- 11. A method for reading a bitstream of compressed image data, wherein the bitstream includes, for each image, a picture header followed by image scan data, wherein the image scan data includes data corresponding to a plurality of macroblock rasterscans, wherein the data for each macroblock rasterscan includes data for a plurality of macroblocks for a band of lines in the image followed by padding, whereby data for each macroblock rasterscan terminates on a data boundary, the method comprising:
reading a macroblock rasterscan from the image scan data; identifying an end of block code in the macroblock rasterscan; and reading a subsequent macroblock rasterscan starting from a data boundary immediately following the end of block code.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of prior filed provisional application No. 60/460,547, filed Apr. 4, 2003, and is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60460547 |
Apr 2003 |
US |