Ray-based compression mapping in a color management system
AssigneeXerox Corporation
InventorLalit Keshav Mestha
Life of this patent
Estimating the term…
Abstract
What is disclosed is a novel system and method for performing ray-based compression mapping in a color management system. The present method compresses a color point located at or near a boundary surface of a color gamut to a point beneath the gamut surface in order to eliminate artifacts which are likely to arise from a color marking device trying to reproduce colors which are on a boundary of the device's printable gamut. The present method is directly applicable to a variety of gamut mapping strategies employed in color management systems.
Claims21
A method for ray-based compression mapping in a color management system performing a gamut mapping function, comprising:
- identifying a point xb in L*a*b* space having {L*b, a*b, b*b} values, said point xb being near a surface boundary of a color gamut;
- identifying a point x0 in L*a*b* space having {L*0, a*o, b*0} values, said point x0 being inside said surface boundary of said color gamut;
- tracing a ray between points xb and x0;
- identifying a point xp along said ray between xb and x0 which is a distance from xb, said distance being an amount of compression to be applied to said gamut;
- dividing said ray between xb and xp into discrete points, each point having {L*i, a*i, b*i} values, where i is an index of point xi;
- and
- for each of said discrete points starting from xb:
- moving current point xi to a point along said ray between xp and x0, each successive point being moved a distance which is less than a distance a previous point was moved.
A system for ray-based compression mapping in a color management system performing a gamut mapping function, the system comprising:
- a memory and a storage medium;
- and
- a processor in communication with said storage medium and said memory, said processor executing machine readable instructions for performing:
- identifying a point xb in L*a*b* space having {L*b, a*b, b*b} values, said point xb being near a surface boundary of a color gamut;
- identifying a point x0 in L*a*b* space having {L*0, a*0, b*0} values, said point x0 being inside said surface boundary of said color gamut;
- tracing a ray between points xb and x0;
- identifying a point xp along said ray between xb and x0 which is a distance from xb, said distance being an amount of compression to be applied to said gamut;
- dividing said ray between xb and xp into discrete points, each point having {L*i, a*i, b*i} values, where i is an index of point xi;
- and
- for each of said discrete points starting from xb:
- moving current point xi to a point along said ray between xp and x0, each successive point being moved a distance which is less than a distance a previous point was moved.
A computer program product for ray-based compression mapping in a color management system performing a gamut mapping function, the computer program product comprising:
- a non-transitory computer readable medium for storing instructions that, when executed on a computer, cause the computer to perform a method comprising:
- identifying a point xb in L*a*b* space having {L*b, a*b, b*b} values, said point xb being near a surface boundary of a color gamut;
- identifying a point x0 in L*a*b* space having {L*0, a*0, b*0} values, said point x0 being inside said surface boundary of said color gamut;
- tracing a ray between points xb and x0;
- identifying a point xp along said ray between xb and x0 which is a distance from xb, said distance being an amount of compression to be applied to said gamut;
- dividing said ray between xb and xp into discrete points, each point having {L*i, a*i, b*i} values, where i is an index of point xi;
- and
- for each of said discrete points starting from xb:
- moving current point xi to a point along said ray between xp and x0, each successive point being moved a distance which is less than a distance a previous point was moved.
Dependencies are inferred from the claim text.