Tiling in picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
First Claim
1. A method of mapping of a digital array of data having rows and columns into a memory subdivided into words having a predetermined number of bytes, comprising the steps of:
- partitioning the digital array into one or more stripes, each having a predetermined number of columns, each row of each of the stripes having a number of bytes;
partitioning each stripe into two or more tiles, each having a predetermined number of rows and the predetermined number of columns;
storing the data in the first row of one of the tiles in a first word in the memory;
storing the data in each subsequent row of the tile in a word in the memory having a word address adjacent and subsequent to the word storing the data of the directly preceding row, whereby easy retrieval of the subsequent row is accomplished upon the retrieval of the preceding row.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of storing a picture in a memory such that the latency of the memory can be reduced when retrieving a picture from the memory to be displayed while still reducing the bandwidth when retrieving an array portion of the picture from the memory, and a memory architecture. The memory is subdivided into a plurality of words for storing a picture having rows and columns. The picture is partitioned into one or more tiles each having a predetermined number of rows and columns. The number of bytes in one row of one tile is equal to the number of bytes in one word, for storing the data in one row of a tile in one word. The chrominance Cr and Cb components can be stored in one word, with the first 8 bytes of the word containing one and the next eight containing the other.
-
Citations
88 Claims
-
1. A method of mapping of a digital array of data having rows and columns into a memory subdivided into words having a predetermined number of bytes, comprising the steps of:
-
partitioning the digital array into one or more stripes, each having a predetermined number of columns, each row of each of the stripes having a number of bytes; partitioning each stripe into two or more tiles, each having a predetermined number of rows and the predetermined number of columns; storing the data in the first row of one of the tiles in a first word in the memory; storing the data in each subsequent row of the tile in a word in the memory having a word address adjacent and subsequent to the word storing the data of the directly preceding row, whereby easy retrieval of the subsequent row is accomplished upon the retrieval of the preceding row. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. The method of mapping of a digital array of data having even and odd rows and columns into a memory having a first and second memory buffers, each memory buffer subdivided into words having a predetermined number of bytes, comprising the steps of:
-
partitioning the digital array into one or more stripes, each stripe having a predetermined number of columns, each row of each of the stripes having a number of bytes; partitioning each stripe into two or more tiles, each having a predetermined number of rows and the predetermined number of columns; storing the data in the first odd row of one of the tiles in a first word of the first memory buffer; storing the data in each subsequent odd row of the tile in a word in the first memory buffer having a word address adjacent and subsequent to the word storing the data of the directly preceding odd row, whereby easy retrieval of the subsequent odd row is accomplished upon the retrieval of the preceding odd row; storing the data in the first even row of the tile in a first word of the second memory buffer; storing the data in each subsequent even row of the tile in a word in the second memory buffer having a word address adjacent and subsequent to the word storing the data of the directly preceding even row, whereby easy retrieval of the subsequent even row is accomplished upon the retrieval of the preceding even row. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of mapping of a digital array of data into a memory subdivided into words having a predetermined number of bytes, comprising:
-
storing pixels of Cr chrominance components in a first number of bytes of each word; storing pixels of Cb chrominance components in a second number of bytes of each word; and storing pixels of luminance components in a third number of bytes of each word. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A method of reading a digital array of data from a burst memory having words with a predetermined number of bytes whereby easy retrieval of the data for display is accomplished, wherein the digital array is partitioned into two or more tiles including a first tile and last tile, each tile having X rows and Y columns including a first and last row and a first and last column, comprising the steps of:
-
(a) reading data in a word having a word address, the word storing data of one row of one of the tiles; (b) reading data in a word having a word address equal to the word address read in step (a) plus X; and (c) repeating step (b) each time incrementing the word address by X until all of the data in one row of the digital array is read. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A method of reading an array portion of a digital array of data from a burst memory having words with a predetermined number of bytes, the array portion of the digital array having a fixed number of rows and columns, the digital array partitioned into two or more tiles each having a predetermined number of rows and columns including a first and last row and a first and last column, each row of each tile having a number of bytes, comprising the steps of:
-
determining the word address of the word storing the first row and the first column in the memory, for locating a first byte of data of the array portion; determining the number of tiles that have data in the array portion; reading the words storing a part of each tile that has data in the array portion; selecting the columns in each tile corresponding to the columns in the array portion of the digital array. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
63. A memory for storing a digital array of data having rows and columns partitioned into two or more tiles each having a predetermined number of rows and a predetermined number of columns, comprising:
-
a plurality of words, including a first word, each having a predetermined number of bytes such that a number of bytes in one row of one tile being equal to the number of bytes in one word for storing the data in one row of a tile in one word; the data in the first row of one of the tiles is in a first word; the data in each subsequent row of the tile is in a word having a word address adjacent and subsequent to the word storing the data of the directly preceding row, hereby easy retrieval of the subsequent row is accomplished upon the retrieval of the preceding row; a plurality of memory rows, each row having one or more of the plurality of words; and a plurality of memory columns. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75)
-
-
76. A computer comprising:
-
an input device; an output device; a memory for storing a digital array of data having rows and columns partitioned into two or more tiles each having a predetermined number of rows and a predetermined number of columns, including; a plurality of words, including a first word, each having a predetermined number of bytes such that a number of bytes in one row of one tile being equal to the number of bytes in one word for storing the data in one row of a tile in one word; the data in the first row of one of the tiles is in a first word; the data in each subsequent row of the tile is in a word having a word address adjacent and subsequent to the word storing the data of the directly preceding row, whereby easy retrieval of the subsequent row is accomplished upon the retrieval of the preceding row; a plurality of memory rows, each row having one or more of the plurality of words; and a plurality of memory columns. - View Dependent Claims (77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88)
-
Specification