# US 9,565,337 B1 · Computing array of high-resolution halftone pixel values by addressing halftone dot function and averaging values to determine value at printer resolution

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

- Number: US 9,565,337 B1
- Document ID: US9565337B1
- Status: Granted
- Kind: B1
- Application number: 15/135,614
- Filed: 2016-04-22
- Granted: 2017-02-07
- Earliest claimed: 2016-04-22
- Assignees: Eastman Kodak Company
- Applicants: Eastman Kodak Company
- Inventors: Chung-Hui Kuo; David R. Brent; Stacy M. Munechika
- Web page: https://patentgrep.com/patent/US9565337B1

## CPC

- H04N 1/40081: {Soft dot halftoning, i.e. producing halftone dots with gradual edges}
- G06K 15/1873: {Increasing spatial resolution; Anti-aliasing}
- G06K 15/1881: {Halftoning (halftoning of still images in general H04N1/405, H04N1/52)}
- H04N 1/4055: {producing a clustered dots or a size modulated halftone pattern}
- H04N 1/4057: {the pattern being a mixture of differently sized sub-patterns, e.g. spots having only a few different diameters (multi-toning H04N1/40087)}
- G03G 15/01: for producing multicoloured copies
- G03G 15/0115: {and forming a half-tone image}
- G06K 15/129: {Colour printing}
- G06K 15/14: by electrographic printing, e.g. xerography; by magnetographic printing {(G06K15/12 takes precedence)}
- H04N 1/29: involving production of an electrostatic intermediate picture
- H04N 1/40068: {Modification of image resolution, i.e. determining the values of picture elements at new relative positions (H04N1/3935 takes precedence)}
- H04N 1/4058: {with details for producing a halftone screen at an oblique angle (H04N1/4056 takes precedence)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G03G: ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY

## Abstract

A computational halftoning process determines a halftoned image having halftoned pixel values by processing an array of input pixels. For each input pixel, an array of high-resolution printer coordinates is defined at a higher spatial resolution than the printer resolution, and a coordinate transformation is applied to determine a corresponding array of high-resolution dot coordinates. An array of high-resolution halftoned pixel values is then determined responsive to the code value of the input pixel by addressing a halftone dot function using the array of high-resolution dot coordinates. A halftoned pixel value is then determined by averaging the high-resolution halftoned pixel values.

## Claims

### Claim 1

A computational halftoning process for determining a halftoned image for printing using a digital printing system, comprising:
defining a halftone dot function which computes a halftoned pixel value as a function of dot coordinates in a halftone dot coordinate system;
receiving input digital image data for an array of input pixels specifying a code value as a function of printer coordinates in a printer coordinate system having a printer resolution;
for each input pixel using a data processing system to perform the following operations:
defining an array of high-resolution printer coordinates at a higher spatial resolution than the printer resolution;
transforming the array of high-resolution printer coordinates into a corresponding array of high-resolution dot coordinates in the halftone dot coordinate system;
computing an array of high-resolution halftoned pixel values responsive to the code value of the input pixel by addressing the halftone dot function using the array of high-resolution dot coordinates; and
averaging the high-resolution halftoned pixel values in the array of high-resolution halftoned pixel values to determine a halftoned pixel value at the printer resolution; and
storing the halftoned pixel values in a processor accessible memory.

### Claim 2 (depends on 1)

The computational halftoning process of claim 1, wherein an N×N array of high-resolution printer coordinates are defined for each input pixel, N being an integer greater than one, so that the spatial resolution of the high-resolution printer coordinates is N× greater than the printer resolution.

### Claim 3 (depends on 1)

The computational halftoning process of claim 1, wherein the halftoned image has an associated halftone screen angle and an associated halftone screen frequency.

### Claim 4 (depends on 3)

The computational halftoning process of claim 3, wherein the high-resolution printer coordinates are transformed into the corresponding high-resolution dot coordinates by applying a coordinate transformation that rotates the coordinates in accordance with the halftone screen angle, and scales the coordinates in accordance with a ratio of the printer resolution to the halftone screen frequency.

### Claim 5 (depends on 1)

The computational halftoning process of claim 1, further including determining relative coordinates within a halftone cell responsive to the high-resolution dot coordinates, wherein the halftone dot function is addressed with the relative coordinates.

### Claim 6 (depends on 1)

The computational halftoning process of claim 1, wherein the halftone dot function has the form:
H(u,v)=TE(h(u,v))
where h(u,v) is a halftone shape function specifying a halftone dot shape as a function of dot coordinates (u,v), and TE(h) is an edge shape function.

### Claim 7 (depends on 6)

The computational halftoning process of claim 6, wherein the halftone shape function has the form:
h(u,v)=(u′p+v′p)1/p
where p is a dot shape parameter, u′=|(u−Int(u))−0.5|, v′=|(v−Int(v))−0.5|, and Int(•) is a function that returns the integer portion of a number.

### Claim 8 (depends on 6)

The computational halftoning process of claim 6, where the edge shape function has the form:
T
E
⁡
(
h
)
=
{
1
;
h
<
T
L
1
-
h
-
T
L
T
H
-
T
L
T
L
≤
h
≤
T
H
0
;
h
>
T
H
where h is a halftone shape value, and TL and TH are low and high threshold values, respectfully.

### Claim 9 (depends on 8)

The computational halftoning process of claim 8, wherein TL=T(C)−ΔT(C), TH=T(C)+ΔT(C), T(C) is a threshold value function specifying a threshold value as a function of input code value C, and ΔT(C) is an edge softness function which controls a halftone dot edge softness as a function of the input code value.

### Claim 10 (depends on 1)

The computational halftoning process of claim 1, wherein the input pixels of the input digital image data have a bit-depth greater than the halftone pixel values.

### Claim 11 (depends on 1)

The computational halftoning process of claim 1, wherein a bit depth of the input pixels of the input digital image data is greater than or equal to 10 bits.

### Claim 12 (depends on 1)

The computational halftoning process of claim 1, further including using the digital printing system to print the stored halftoned pixel values.

### Claim 13 (depends on 1)

The computational halftoning process of claim 1, wherein the data processing system is a sub-system within the digital printing system.

### Claim 14 (depends on 13)

The computational halftoning process of claim 13, wherein the data processing system is a field-programmable gate array.

### Claim 15

A print engine that performs a computational halftoning process, comprising:
a printer module for printing halftoned pixel values at a printer resolution;
a data processing system;
a memory system communicatively connected to the data processing system and storing instructions configured to cause the data processing system to implement a halftoning process that determines halftone pixel values, wherein the halftoning process includes:
receiving input digital image data for an array of inputs specifying a code value as a function of printer coordinates in a printer coordinate system at the printer resolution;
for each input pixel performing the following operations:
defining an array of high-resolution printer coordinates at a higher spatial resolution than the printer resolution;
transforming the array of high-resolution printer coordinates into a corresponding array of high-resolution dot coordinates in a halftone dot coordinate system;
computing an array of high-resolution halftoned pixel values responsive to the code value of the input pixel by addressing a halftone dot function using the array of high-resolution dot coordinates, wherein the halftone dot function computes a halftoned pixel value as a function of dot coordinates in the halftone dot coordinate system; and
averaging the high-resolution halftoned pixel values in the array of high-resolution halftoned pixel values to determine the halftoned pixel value at the printer resolution; and
printing the halftoned pixel values using the printer module.
