Accelerating color conversion using a temporary palette cache
First Claim
1. In an electronic device, a method, comprising the steps of:
- providing input color data for a group of pixels in an input color space, wherein one or more pixels contain input color data that is repeated;
building an intermediate table for storing the input color data for each pixel in the group, wherein each different input color data corresponding to a pixel in the group is assigned an index in the intermediate table and wherein the index is a hash function of the different input color data;
storing the indices in an index array, wherein each index is stored at a position corresponding to a position in the input color data of the input color data assigned to the index;
building an intermediate palette for storing the input color data corresponding to the indices, wherein each input color data appears once in the intermediate palette;
converting the color data in the intermediate palette to an output color data in an output color space, wherein the same input color data in different pixels is converted once to avoid repeated conversion calculations for the different pixels having the same input color data; and
for each pixel in the group of pixels substituting the corresponding converted output color data for each input color data.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and device for accelerating a color conversion process that converts input image data corresponding to a first color space to output image data corresponding to an output color space. A temporary cache stores color information in an array, and performs a conversion calculation for each individual color combination. If a pixel corresponds to a new color combination, the pixel information is stored in a new index of the array. If the pixel repeats a previously processed color, the pixel information is stored in the same index of the array as the previously processed pixel. A color conversion calculation is performed after all pixels within a block of pixels are mapped to the temporary array.
12 Citations
27 Claims
-
1. In an electronic device, a method, comprising the steps of:
-
providing input color data for a group of pixels in an input color space, wherein one or more pixels contain input color data that is repeated; building an intermediate table for storing the input color data for each pixel in the group, wherein each different input color data corresponding to a pixel in the group is assigned an index in the intermediate table and wherein the index is a hash function of the different input color data; storing the indices in an index array, wherein each index is stored at a position corresponding to a position in the input color data of the input color data assigned to the index; building an intermediate palette for storing the input color data corresponding to the indices, wherein each input color data appears once in the intermediate palette; converting the color data in the intermediate palette to an output color data in an output color space, wherein the same input color data in different pixels is converted once to avoid repeated conversion calculations for the different pixels having the same input color data; and for each pixel in the group of pixels substituting the corresponding converted output color data for each input color data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. In an electronic device, a method, comprising the steps of:
-
providing a set of input color data for pixels, said input color data encoding colors for the pixels in a first color space, wherein one or more pixels contain same color data that is repeated; for each of the pixels, determining an index for the pixel based on the color data for the pixel; building an intermediate table for assigning an index to the input color data, wherein the indices of the same input color data are the same and wherein the index is a hash function of the input color data; storing the indices in an index array, wherein each index is stored at a position corresponding to a position in the input color data; building an intermediate palette for storing the input color data corresponding to the indices, wherein each input color data appears once in the intermediate palette; converting the input color data in the intermediate palette into an output color data in a second color space, wherein the same input color data in different pixels is converted once to avoid repeated conversion calculations for the different pixels having the same input color data; and for each pixel, substituting the corresponding converted output color data for each input color data. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A device for converting a set of input color representations of pixels in an image wherein the input color representations are ordered in the set in an order of the pixels in the image, comprising:
-
a storage facility for storing an intermediate table, wherein the intermediate table holds, at indexed locations, the input color representations and wherein the index of each location is a hash function of the input color representation stored at the location; a storage facility for storing an index array, the index array storing the indices, wherein each index is stored at a position in the index array corresponding to a position of the color representations in the set, that when hashed result in the index; a storage facility for storing an intermediate palette, the intermediate palette storing the input color representations corresponding to the indices, wherein each input color representations appears once in the intermediate palette; and a conversion facility for converting the set of input color representations in the intermediate palette to output color representations in a second color space, wherein the same input color representation of different pixels is converted once to avoid repeated conversion calculations for the different pixels having the same input color representation. - View Dependent Claims (19)
-
-
20. An improved method of converting color image data for a group pixels from a first color space to a second color space, comprising:
-
mapping input color image data for the group of pixels in the first color space to indices, wherein the input color image data is stored in an intermediate table at positions of the indices and wherein each index is a hash function of input color image data of a pixel in the group; storing the indices in an index array, wherein each index is stored at a position corresponding to a position in the input color data; building an intermediate palette for storing the input color data corresponding to the indices, wherein each input color data appears once in the intermediate palette; converting the input color image data in the intermediate palette to an output color image data in the second color space, wherein the same input color image data in different pixels is converted once to avoid repeated conversion calculations for the different pixels having the same input color image data; reconstructing the group of pixels in the second color space using the corresponding output color image data. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
Specification