Macroblock tiling format for motion compensation
First Claim
1. A method of mapping luminance (Y) and chrominance (Cb and Cr) data samples of a picture frame into a memory, the picture frame partitioned into a plurality of macroblocks, each macroblock being a predetermined portion of the Y, Cb and Cr data samples of the picture frame, the memory including a plurality of memory pages of a certain size, the method comprising:
- grouping the Y, Cb and Cr data samples of the picture frame into a plurality of tiles, each tile having a combination of Y, Cb and Cr data samples corresponding to a given number of macroblocks for storing in a single memory page in the memory; and
mapping the combination of Y, Cb and Cr data samples in each tile into a single memory page in the memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A macroblock tiling format method and system for implementing the method during an MPEG decoding process is disclosed. The macroblock tiling format groups picture data samples into tiles, each tile including a combination of luminance and/or chrominance data samples corresponding to a given number of macroblocks. Picture data samples in a tile is mapped to memory locations within a single memory page of a buffer memory which temporarily stores decoded pictures.
145 Citations
8 Claims
-
1. A method of mapping luminance (Y) and chrominance (Cb and Cr) data samples of a picture frame into a memory, the picture frame partitioned into a plurality of macroblocks, each macroblock being a predetermined portion of the Y, Cb and Cr data samples of the picture frame, the memory including a plurality of memory pages of a certain size, the method comprising:
-
grouping the Y, Cb and Cr data samples of the picture frame into a plurality of tiles, each tile having a combination of Y, Cb and Cr data samples corresponding to a given number of macroblocks for storing in a single memory page in the memory; and
mapping the combination of Y, Cb and Cr data samples in each tile into a single memory page in the memory.
-
-
2. A method of mapping luminance (Y) and chrominance (Cb and Cr) data samples of a picture frame into a memory, the picture frame partitioned into a plurality of macroblocks, each macroblock being a predetermined portion of the Y, Cb and Cr data samples of the picture frame, the memory including a plurality of memory pages of a certain size, the method comprising:
-
grouping the Y data samples of the picture frame into a plurality of luminance tiles, each luminance tile having luminance data samples corresponding to a given number of macroblocks for storing in a single memory page in the memory;
grouping the Cb and Cr data samples of the picture frame into a plurality of chrominance tiles, each chrominance tile having Cb and Cr data samples corresponding to a given number of macroblocks for storing in a single memory page in the memory;
mapping the luminance data samples in each of the luminance tiles into a single memory page in the memory; and
mapping the chrominance data samples in each of the chrominance tiles into a single memory page in the memory. - View Dependent Claims (3, 4, 5, 6, 7, 8)
forming a Y matrix in which the Y data samples are arranged in raster scan order; - and
dividing the Y matrix into m*n tiles, where m is a number of rows of tiles and n is a number of tiles in each row of tiles.
-
-
4. The method of claim 2 wherein the step of grouping the Cb and Cr data samples comprises
forming a Cb matrix in which the Cb data samples are arranged in raster scan order; -
forming a Cr matrix in which the Cr data samples are arranged in raster scan order;
forming an interleaved Cb/Cr matrix by interleaving the columns of the Cb matrix and the Cr matrix; and
dividing the interleaved Cb/Cr matrix into k*l tiles, where k is is a number of rows of tiles and l is a number of tiles in each row of tiles.
-
-
5. The method of claim 3 wherein the picture frame is a CCIR 601 frame having 720 pixels by 480 scan lines partitioned into 1350 macroblocks, each macroblock corresponds to a 16 by 16 block of Y data samples, an 8 by 8 block of Cb data samples and an 8 by 8 block of Cr data samples, the memory includes a plurality of 2 kilobyte memory pages, and the dividing step comprises
dividing the 720 by 480 Y matrix into 12 columns by 15 rows of non-overlapping rectangular tiles, the majority of the rectangular tiles having Y data samples corresponding to 8 adjacent macroblocks. -
6. The method of claim 4 wherein the picture frame is a CCIR 601 frame having 720 pixels by 480 scan lines partitioned into 1350 macroblocks, each macroblock corresponds to a 16 by 16 block of Y data samples, an 8 by 8 block of Cb data samples and an 8 by 8 block of Cr data samples, the memory includes a plurality of 2 kilobyte memory pages, and the dividing step comprises
dividing the 720 by 240 interleaved Cb/Cr matrix into 12 columns by 8 rows of non-overlapping rectangular tiles, the majority of the rectangular tiles having Cb and Cr data samples corresponding to 16 adjacent macroblocks. -
7. The method of claim 3 wherein the picture frame is a CCIR 601 frame having 720 pixels by 480 scan lines partitioned into 1350 macroblocks, each macroblock corresponds to a 16 by 16 block of Y data samples, an 8 by 8 block of Cb data samples and an 8 by 8 block of Cr data samples, the memory includes a plurality of 1 kilobyte memory pages, and the dividing step comprises
dividing the 720 by 480 Y matrix into 12 columns by 30 rows of non-overlapping rectangular tiles, the majority of the rectangular tiles having Y data samples corresponding to 4 adjacent macroblocks. -
8. The method of claim 4 wherein the picture frame is a CCIR 601 frame having 720 pixels by 480 scan lines partitioned into 1350 macroblocks, each macroblock corresponds to a 16 by 16 block of Y data samples, an 8 by 8 block of Cb data samples and an 8 by 8 block of Cr data samples, the memory includes a plurality of 1 kilobyte memory pages, and the dividing step comprises
dividing the 720 by 240 interleaved Cb/Cr matrix into 6 columns by 32 rows of non-overlapping rectangular tiles, the majority of the rectangular tiles having Cb and Cr data samples corresponding to 8 adjacent macroblocks.
Specification