Patent ID: 8861850

Claim:
A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause the processor to: select a first pixel from a digital image, the first pixel having component values from a first color space, the first color space comprising a red-green-blue color space; determine to which of a plurality of disjoint regions in a specified color gamut the first pixel belongs based on the first pixel's component values, wherein determining which of a plurality of disjoint regions comprises selecting a single region from the plurality of disjoint regions consisting of: a first region when the first pixel's red component value is greater than the first pixel's green component value which is greater than the first pixel's blue component value; a second region when the first pixel's green component value is greater than the first pixel's red component value which is greater than the first pixel's blue component value; a third region when the first pixel's green component value is greater than the first pixel's blue component value which is greater than the first pixel's red component value; a fourth region when the first pixel's blue component value is greater than the first pixel's green component value which is greater than the first pixel's red component value; a fifth region when the first pixel's blue component value is greater than the first pixel's red component value which is greater than the first pixel's green component value; and a sixth region when the first pixel's red component value is greater than the first pixel's blue component value which is greater than the first pixel's green component value; calculate a color correction value for each of the first pixel's component values based, at least in part, on the determined region and the first pixel's component values, wherein each determined color correction value is expressed in the first color space; apply each calculated color correction value to the first pixel's corresponding component value to produce a first color corrected pixel; and repeat execution of the instructions to select, determine, calculate and apply for each of a plurality of pixels from the digital image to produce a color corrected image in the first color space.