Sequential product code quantization of digital color image
First Claim
1. A method of converting a first digital color image, having a color composition encoded into first luminance representative codes and first chrominance representative codes of a first encoded color resolution, to a second digital color image having a color composition encoded at a second encoded color resolution different from said first encoded color resolution and color codes of which are selected to reproduce a color image having a quality that is pleasing to a human visual system, said method comprising the steps of:
- (a) subdividing said first digital color image into a plurality of spatially adjacent groups of pixels;
(b) for each group of the pixels subdivided in step (a), deriving luminance activity values from the first luminance representative codes associated therewith;
(c) generating a color space histogram of said first luminance representative codes and said first chrominance representative codes;
(d) associating the luminance activity values derived in step (b) with the color space histogram generated in step (c);
(e) partitioning said color space histogram, along an axis associated with a chrominance component of said first digital color image, into histogram chrominance regions, based upon a chrominance composition of said color space histogram;
(f) partitioning said color space histogram chrominance regions, along an axis associated with a luminance component of said first digital color image, into histogram luminance-chrominance regions, based upon a distribution of the luminance activity values within said color spaced histogram chrominance regions;
(g) or each of said color space histogram chrominance and luminance regions, deriving a respective set of chrominance and luminance output codes based upon a distribution of the chrominance composition and luminance activity within said color space histogram chrominance and luminance regions, respectively; and
(h) defining the second color composition of a respective pixel of said second digital color image in accordance with one of the respective sets of chrominance and luminance output codes derived in step (g).
3 Assignments
0 Petitions
Accused Products
Abstract
A digital color image quantization mechanism employs sequential product code vector quantization, to sequentially extract chrominance and luminance values from the vectors and quantizes chrominance and luminance features based upon a conditional distribution of these features within partitioned regions of chrominance/luminance color space. The mechanism sequentially partitions a histogram of the original digital color image in luminance, chrominance (Y,Cb,Cr) space coordinates into a plurality of sub-regions or color space cells, such that each partitioned color cell is associated with a color of the output palette through which the color composition of a reproduced color image is defined. A splitting criterion determines the sequential order of partitioning of an axis. Because of the increased sensitivity of the human visual system to contouring artifacts in regions of an image to low spatial activity, the splitting criterion along the luminance axis is scaled or weighted in inverse proportion to the average spatial activity of the luminance-chrominance region subject to be split. A map of chrominance and luminance output codes is generated for the respective pixels of the output color image in accordance with the axial splitting or quantization of the chrominance and luminance components of the histogram.
113 Citations
80 Claims
-
1. A method of converting a first digital color image, having a color composition encoded into first luminance representative codes and first chrominance representative codes of a first encoded color resolution, to a second digital color image having a color composition encoded at a second encoded color resolution different from said first encoded color resolution and color codes of which are selected to reproduce a color image having a quality that is pleasing to a human visual system, said method comprising the steps of:
-
(a) subdividing said first digital color image into a plurality of spatially adjacent groups of pixels; (b) for each group of the pixels subdivided in step (a), deriving luminance activity values from the first luminance representative codes associated therewith; (c) generating a color space histogram of said first luminance representative codes and said first chrominance representative codes; (d) associating the luminance activity values derived in step (b) with the color space histogram generated in step (c); (e) partitioning said color space histogram, along an axis associated with a chrominance component of said first digital color image, into histogram chrominance regions, based upon a chrominance composition of said color space histogram; (f) partitioning said color space histogram chrominance regions, along an axis associated with a luminance component of said first digital color image, into histogram luminance-chrominance regions, based upon a distribution of the luminance activity values within said color spaced histogram chrominance regions; (g) or each of said color space histogram chrominance and luminance regions, deriving a respective set of chrominance and luminance output codes based upon a distribution of the chrominance composition and luminance activity within said color space histogram chrominance and luminance regions, respectively; and (h) defining the second color composition of a respective pixel of said second digital color image in accordance with one of the respective sets of chrominance and luminance output codes derived in step (g). - View Dependent Claims (2, 3, 4)
-
-
5. A method of quantizing a color composition of a digital color image, comprising the steps of:
-
(a) generating a color space histogram of the color composition of pixels of said digital color image in terms of prescribed color coordinates through which the color composition of said digital image is definable; (b) performing sequential product code partitioning of said color space histogram along respective chrominance and luminance coordinate axes thereof, so as to subdivide said color space histogram into a plurality of color space regions each comprising respective color space contents; and (c) for each of the color space regions into which said color space histogram has been subdivided in step (b), deriving a respective output code representative of the respective color space contents of the plurality of color space regions. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of generating a plurality of color codes, respective ones of which represent a color composition of a digital color image comprising an array of pixels, the color compositions of which are digitized to a prescribed color code resolution, said method comprising the steps of:
-
(a) generating a color space histogram of the color composition of the pixels of said digital color image in terms of prescribed color coordinates through which the color composition of said digital image is definable; (b) quantizing the color composition of the color space histogram by performing sequential product code partitioning of said color space histogram along respective luminance and chrominance coordinate axes thereof into a plurality of color cells; and (c) for each of the color cells into which said color space histogram has been partitioned in step (b), generating a respective color code representative of the color space contents of that cell. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
- 38. An apparatus for quantizing a data vector structure having a multi-dimensional coordinate system, comprising a plurality of sequentially coupled look-up tables such that an output of an ith look-up table is a pointer to an entry in an (i+l)th look-up table, the respective look-up tables of said plurality being associated with the respective axes of said multi-dimensional coordinate system of said data vector structure, and wherein the output of the last look-up table in sequence is a multi-bit code representative of a quantized data structure value.
-
45. A method of quantizing a data vector structure having a multi-dimensional coordinate system, comprising the steps of:
-
(a) providing a plurality of look-up tables, a respective look-up table of said plurality being associated with a respective axis of said multi-dimensional coordinate system of said data vector structure; and (b) sequentially coupling said look-up tables together such that an output of an ith look-up table is a pointer to an entry in an (i+l)th look-up table, whereby output of the last look-up table in sequence is a multi-bit code representative of a quantized data structure value. - View Dependent Claims (46, 47, 48, 49, 50)
-
-
51. For use with a digital color image comprised of an array of pixels the color compositions of which are digitized to a prescribed color code resolution, a method of quantizing a multi-dimensional color space structure through which the color compositions of the pixels of said array are definable, comprising the steps of:
-
(a) providing a multi-dimensional data structure representative of the multi-dimensional color space of said digital color image; and (b) performing sequential product code partitioning of said multi-dimensional data structure along at least one of respective coordinate axes thereof into a plurality of color cells. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60)
-
- 61. In a method of quantizing the color composition of a digital color image comprised of an array of pixels which are digitized to a prescribed color code precision, the improvement comprising providing a multi-dimensional data structure representative of the multi-dimensional color space of said digital color image, and wherein at least one of the coordinates of said multi-dimensional data structure is prequantized to a digital code precision less than the digital code precision to which at least one of the color coordinates of said digital color image is encoded.
-
64. For use with a digital color image comprised of an array of pixels the color compositions of which are digitized to a prescribed color code resolution, a method of quantizing a multi-dimensional color space structure through which the color compositions of the pixels of said array are definable, comprising the steps of:
-
(a) providing a multi-dimensional data structure representative of the multi-dimensional color space of said digital color image; and (b) partitioning said multi-dimensional data structure along one of its respective coordinate axes thereof into a plurality of color cells using an axis-splitting criterion that depends upon spatial activity characteristics of said digital color image along that axis. - View Dependent Claims (65, 66)
-
-
67. A method of quantizing a multi-coordinate data vector structure comprising the steps of:
-
(a) generating a first one-dimensional data vector structure by projecting components of said multi-coordinate data structure onto a first coordinate axis thereof; (b) iteratively partitioning said first one-dimensional data vector structure into a first plurality of one-dimensional data vector structure regions; (c) for each of the first plurality of one-dimensional data vector structure regions partitioned in step (b), generating a respective associated second one-dimensional data vector structure by projecting components of said multi-coordinate data structure contained within said first plurality of one-dimensional data vector structure regions onto a second coordinate axis of said multi-dimensional data vector structure; and (d) iteratively partitioning the second one-dimensional data vector structures generated in step (c) into a second plurality of one-dimensional data vector structure regions. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75)
-
-
76. A method of quantizing a multi-coordinate data vector structure comprising the steps of:
-
(a) generating a two-dimensional array of data vector entries, respective ones of which are associated with data structures of a third coordinate of said multi-coordinate data vector structure; and (b) for a respective data entry of said multi-coordinate data structure accessing said two-dimensional array of data vector entries and locating, along said third coordinate, a corresponding value of said data entry. - View Dependent Claims (77, 78, 79, 80)
-
Specification