Digital video data compression technique
AssigneeMicrosoft Corporation
InventorStuart T. Laney
Life of this patent
Estimating the term…
Abstract
A technique for compressing digital video data provides improved compression over conventional block compression techniques. In this technique, image data is broken down into cells and iteratively compressed. The cells are compressed using compression formats that are most appropriate for the contents of the cells. A determination is first made whether a cell is substantially identical to a succeeding cell in a previous frame. If the cell is substantially identical to the cell in the previous frame, the cell is encoded in compressed form as a duplicate of the previous cell. Moreover, solid-color compression approaches, two-color compression approaches and eight-color compression approaches may be integrated into the compression technique.
Claims20
A computer-readable storage medium for use in a data processing system, said medium holding instructions for performing a method of compressing color data for pixels in a first cell of a frame of color data to produce compressed color data, said method comprising the steps of:
- a) for each pixel in the first cell, comparing the color data for the pixel in the first cell with color data for a pixel in a second cell of pixels in a previous frame of color data to determine whether the color data in the first cell and the color data in the second cell are substantially the same;
- b) if the color data in the first cell is substantially the same as the color data for the second cell, producing the compressed color data by encoding the color data for the pixels of the first cell as a duplicate of the color data for the pixels of the second cell;
- c) if the compressed color data for the first cell has not been produced by the preceding steps, producing the compressed color data by performing the following steps:
- (i) calculating the luminanee of each of the pixels in the first cell;
- (ii) dividing the pixels in the first cell into a set of brighter pixels and a set of dimmer pixels, based on the calculated luminances;
- (iii) calculating an average color of pixels in the set of brighter pixels and calculating an average color of pixels in the set of dimmer pixels;
- (iv) assigning the average color of pixels in the set of brighter pixels to each of the pixels in the set of brighter pixels;
- and
- (v) assigning the average color of pixels in the set of dimmer pixels to each of the pixels in the dimmer set of pixels.
A computer-readable storage medium for use in a data processing system, said medium holding instructions for performing a method of compressing color data for pixels in a first cell of a frame of color data to produce compressed color data, said method comprising the steps of:
- a) for each pixel in the first cell, comparing the color data for the pixel in the first cell with color data for a pixel in a second cell of pixels in a previous frame of color data to determine a variance in color between the first cell and the second cell, and using the variance in color between the first cell and the second cell to determine whether the color data in the first cell and the color data in the second cell are substantially the same;
- b) if the color data in the first cell is substantially the same as the color data in the second cell, producing the compressed color data by encoding the color data for the pixels of the first cell as a duplicate of the color data for the pixels of the second cell;
- c) if the color data in the first cell is not substantially the same as the color data in the second cell:
- (i) calculating an average color of pixels in the first cell;
- (ii) creating color data for a third cell in which each pixel has color data equal to the calculated average color of pixels in the first cell;
- (iii) comparing the color data of each pixel in the first cell with color data of a corresponding pixel in the third cell to produce a variance in color between the first cell and the third cell;
- (iv) based on the variance in color between the first cell and the third cell, determining whether all of the pixels in the first cell have color data of substantially the same color;
- d) if all of the pixels in the first cell have color data of substantially the same color, producing the compressed color data by encoding the first cell as a cell of the same color;
- e) calculating luminances of pixels in the first cell;
- f) if the variance in color between the first cell and the third cell is less than a first threshold, producing the compressed color data by encoding color data for each of the pixels in the first cell as having one of two colors;
- and
- g) if the variance in color between the first cell and the third cell is greater than the first threshold:
- (i) dividing the first cell into sub-cells of pixels, wherein each sub-cell is a subset of the first cell;
- and
- (ii) for each sub-cell, producing the compressed color data by encoding each pixel as one of two colors, whereby the two colors used in encoding pixels differ between at least two of the sub-cells.
Dependencies are inferred from the claim text.