# US 2021/0243334 A1 · Clustering colors for halftoning

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0243334 A1
- Document ID: US20210243334A1
- Status: Published application
- Kind: A1
- Application number: 17/051,415
- Filed: 2018-07-18
- Published: 2021-08-05
- Earliest claimed: 2018-07-18
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Hewlett-Packard Development Company, L.P.
- Inventors: Peter MOROVIC; Jan MOROVIC; Sergio ETCHEBEHERE JUAN
- Web page: https://patentgrep.com/patent/US20210243334A1

## CPC

- H04N 1/52: Circuits or arrangements for halftone screening
- H04N 1/00023: {Colour systems}
- H04N 1/00034: {Measuring, i.e. determining a quantity by comparison with a standard (H04N1/00031 takes precedence)}
- H04N 1/40087: {Multi-toning, i.e. converting a continuous-tone signal for reproduction with more than two discrete brightnesses or optical densities, e.g. dots of grey and black inks on white paper}
- H04N 1/405: Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N 1/6002: {Corrections within particular colour systems}
- H04N 1/6005: {with luminance or chrominance signals, e.g. LC1C2, HSL or YUV}
- H04N 1/6008: {with primary colour signals, e.g. RGB or CMY(K)}
- H04N 1/6016: {Conversion to subtractive colour signals}
- H04N 1/6033: {using test pattern analysis (H04N1/6055 takes precedence)}
- H04N 1/6058: {Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut}
- G06F 3/1208: {resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview}
- G06F 3/1247: {by conversion to printer ready format}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Certain examples described herein relate to a color processing apparatus and a method of generating configuration data for a color rendering device. The color rendering device operates based on color state instructions indicating output color states for portions of a rendered output. Render data may be generated by applying a halftone matrix and color data may indicate probability values for the output color states for input image areas corresponding to the portions of the rendered output. In described examples, configuration data defines an order of output color states for application of the halftone matrix. In the order, the output color states are grouped within the data based on color properties of a rendered output and an order within the clusters is based on colorant composition.

## Claims

### Claim 1

A color processing apparatus comprising:
a processor;
an interface to communicate render data to a color rendering device, the render data comprising color state instructions, the color state instructions indicating output color states for portions of a rendered output;
storage media, communicatively coupled to the processor, to store:
halftone data defining a halftone matrix;
computer program code to instruct the processor to halftone color data for the rendered output using the halftone matrix and to output the render data, the color data indicating probability values for the output color states for input image areas corresponding to the portions of the rendered output; and
configuration data defining an order of output color states for application of the halftone matrix, the output color states being grouped within the data based on clusters of output color states, the clusters being defined based on color properties of a rendered output generated by the color rendering device, the order within the clusters being based on colorant composition.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the output color states comprise Neugebauer Primaries and the color data comprises Neugebauer Primary area coverage (NPac) vectors for the input image areas.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the clusters are defined based on measured lightness values of the output color states.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the halftone matrix comprises threshold values and the computer program code is to instruct the processor to generate sampling data indicative of a cumulative probability distribution from vectors of the color data with the output color states arranged in the order indicated by the configuration data, wherein the computer program code is to halftone the color data by selecting an output color state based on a comparison of a threshold value from the halftone matrix and ordered elements of the cumulative probability distribution.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the apparatus is a multi-dimensional color printer.

### Claim 6

A method of configuring a halftoning operation for a color rendering device, comprising:
determining a set of output color states that are renderable by the color rendering device using a set of colorants;
obtaining color measurements for the set of output color states;
grouping the set of output color states into clusters based on the color measurements;
determining an order for output color states within the clusters based on colorant composition; and
outputting configuration data for the halftoning operation indicative of the order.

### Claim 7 (depends on 6)

The method of claim 6, wherein the output color states comprise Neugebauer Primaries and the measured color data comprises measured lightness values.

### Claim 8 (depends on 6)

The method of claim 6, wherein determining an order for output color states within the clusters comprises:
ordering the output color states based on color property values within the color measurements; and
re-ordering output color states with consecutive measured color data values such that output color states with common colorants are consecutively ordered.

### Claim 9 (depends on 6)

The method of claim 6, wherein obtaining measured color data comprises:
printing a test patch for each of the set of output color states; and
measuring colorimetry values for each test patch.

### Claim 10 (depends on 6)

The method of claim 6, wherein determining an order for output color states comprises:
computing an ink composition metric by applying weights to values assigned to component inks of each output color state; and
ordering the output color states within each cluster based on the ink composition metric.

### Claim 11

A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to:
receive color data for an image to be rendered by a color rendering device, the color data indicating probability values for output color states for input image areas corresponding to portions of a rendered output, the output color states being renderable by the color rendering device using a set of colorants;
retrieve configuration data indicating an order of output color states for application of a halftone matrix, the output color states being grouped in clusters based on measured color properties associated with the color rendering device, the order within the clusters being based on colorant composition; and
apply a halftone matrix to the color data to generate render data for the color rendering device, including, for a given portion of the rendered output, to select an output color state for the given portion by sampling the color data using the order indicated in the configuration data, wherein values of the halftone matrix correspond to thresholds for the sampling.

### Claim 12 (depends on 11)

The medium of claim 11, wherein the instructions cause the processor to, prior to receiving color data:
receive image data for the image, the image data indicating color values in a first color space for pixels of the image; and
map the image data to the color data using a color mapping, the color mapping converting color values in the first color space to color values in a second color space, wherein the second color space uses an area coverage representation.

### Claim 13 (depends on 12)

The medium of claim 12, wherein the configuration data is provided as part of the color mapping.

### Claim 14 (depends on 11)

The medium of claim 11, wherein the instructions cause the processor to, in order to apply the halftone matrix, compare the values of the halftone matrix in parallel to ranges of values derived from the probability values for the output color states in the color data that are associated with print-resolution pixels, wherein an output color state is selected for each print-resolution pixel based on the comparison.

### Claim 15 (depends on 1)

The medium of claim 1, wherein the values of the halftone matrix are defined based on a set of predefined spatial distribution constraints.
