System and method for converting over-range colors
AssigneeAdobe Systems Incorporated
InventorsManish S. Kulkarni, Lars U. Borg
Life of this patent
Estimating the term…
Abstract
A method includes dividing an input range of color values of a first color space into a plurality of sub-ranges, wherein at least one of the sub-ranges comprises an over-range color value. The method also includes determining for each sub-range a level of accuracy in converting color values within each sub-range. The method further includes determining a processing step to be applied to input color values in each sub-range based on the determined level of accuracy.
Claims26
A method comprising:
- dividing, by operation of a computer, an input range of color component values of a first color space into a plurality of sub-ranges;
- determining, by operation of a computer, for each sub-range a level of accuracy for converting color component values within the sub-range, wherein the level of accuracy for each sub-range corresponds to a number of data points for the sub-range to be used in at least one dimension of a multi-dimensional look-up table for mapping color values in the first color space to corresponding color values in a second color space;
- generating a one-dimensional look up table (1D LUT) based on the determined levels of accuracy for the sub-ranges;
- generating a multi-dimensional look up table for converting input color values in the first color space to corresponding color values in the second color space, wherein generating a multi-dimensional look up table comprises:
- applying an inverse of the 1D LUT to a regularly spaced multi-dimensional grid of colors values in the first color space and
- applying one or more processing operations that convert colors from the first color space to the second color space.
A method comprising:
- receiving, by operation of a computer, an input color value in a first color space, wherein the input color value is within a particular sub-range of color values in the first color space, and the particular sub-range of color values includes a plurality of color values in the first color space;
- and
- converting, by operation of a computer, the input color value to a corresponding output color value in a second color space using:
- a one-dimensional look up table (1D LUT) defining a pre-determined accuracy level associated with each of a plurality of sub-ranges including the particular sub-range;
- and
- a multi-dimensional look up table for mapping color values in the first color space to corresponding color values in the second color space, and converting the input color value to a corresponding output color value in the second color space includes applying the 1D LUT to the input color values and identifying interpolated color values based on the data points in the multi-dimensional look-up table.
A computer program product, encoded on a non-transitory computer-readable storage medium, operable to cause a data processing apparatus to perform operations comprising:
- dividing an input color range of a first color space into a plurality of sub-ranges;
- determining for each sub-range a level of accuracy in converting colors having component values within the sub-range;
- generating a one-dimensional look up table (1D LUT) based on the determined levels of accuracy for the sub-ranges;
- generating a multi-dimensional look up table for converting input color values in the first color space to corresponding color values in the second color space;
- and
- defining one or more processing operations to be applied to input color values in each sub-range, wherein the processing operations for each sub-range are based, at least in part, on data points in the 1D LUT corresponding to the input color range and values corresponding to the determined level of accuracy for the sub-range and include identifying interpolated color values, from a multi-dimensional look-up table.
A computer program product, encoded on a non-transitory computer-readable storage medium, operable to cause a data processing apparatus to perform operations comprising:
- receiving an input color value in a first color space, wherein the input color value is within a particular sub-range of color values in the first color space, and the particular sub-range of color values includes a plurality of color values in the first color space;
- and
- converting the input color value to a corresponding output color value in a second color space using a one-dimensional look up table (1D LUT) defining a pre-determined accuracy level associated with each of a plurality of sub-ranges including the particular sub-range, wherein the pre-determined accuracy level associated with the particular sub-range corresponds to a number of data points for the particular sub-range used in at least one of dimension of a multi-dimensional look-up table for mapping color values in the first color space to corresponding color values in the second color space, and converting the input color value to a corresponding output color value in the second color space includes applying the 1D LUT to the input color values and identifying interpolated color values based on the data points in the multi-dimensional look-up table.
A system comprising:
- a memory operable to store accuracy data and data defining conversion processing operations;
- and
- a processor coupled to the memory operable to:
- divide an input range of color values of a first color space into a plurality of sub-ranges;
- determine for each sub-range a level of accuracy in converting color values within each sub-range, wherein the level of accuracy for each sub-range corresponds to a number of data points for the sub-range to be used in at least one of dimension of a multi-dimensional look-up table for mapping color values in the first color space to corresponding color values in a second color space;
- generate a one-dimensional look up table (1D LUT) based on the determined levels of accuracy for the sub-ranges, wherein the 1D LUT includes data points corresponding to the input color range and values defining the determined level accuracy for each sub-range;
- generate a multi-dimensional look up table for converting input color values in the first color space to corresponding color values in the second color space, wherein generating a multi-dimensional look up table includes:
- applying an inverse of the 1D LUT to a regularly spaced multi-dimensional grid of colors values in the first color space;
- and
- applying one or more processing operations that convert colors from the first color space to the second color space;
- and
- define a processing operation to be applied to input color values in each sub-range, wherein the processing operation for each sub-range is based, at least in part, on the 1D LUT defining the determined level of accuracy and includes identifying interpolated color values, from the multi-dimensional look-up table, corresponding to input color values that do not match the data points for the sub-range.
Dependencies are inferred from the claim text.