# US 2016/0366301 A1 · System and method for tone reproduction curve color resolution enhancement in a three-dimensional object printer

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

- Number: US 2016/0366301 A1
- Document ID: US20160366301A1
- Status: Published application
- Kind: A1
- Application number: 14/737,787
- Filed: 2015-06-12
- Published: 2016-12-15
- Earliest claimed: 2015-06-12
- Assignees: Xerox Corporation
- Applicants: Xerox Corporation
- Inventors: Stuart A. Schweid; Martin L. Frachioni
- Web page: https://patentgrep.com/patent/US20160366301A1

## CPC

- B29C 64/393: for controlling or regulating additive manufacturing processes
- B41J 2/2054: {by the variation of dot disposition or characteristics, e.g. dot number density, dot shape}
- G06K 15/102: {using ink jet print heads}
- G06K 15/1881: {Halftoning (halftoning of still images in general H04N1/405, H04N1/52)}
- H04N 1/034: using ink, e.g. ink-jet heads {(H04N1/0323 takes precedence)}
- H04N 1/4055: {producing a clustered dots or a size modulated halftone pattern}
- H04N 1/4072: {dependent on the contents of the original}
- B29C 67/0007: {Manufacturing coloured articles not otherwise provided for, e.g. by colour change}
- B33Y 50/00: Data acquisition or data processing for additive manufacturing
- B41J 2/2121: {characterised by dot size, e.g. combinations of printed dots of different diameter}
- G05B 2219/49023: 3-D printing, layer of powder, add drops of binder in layer, new powder
- G06K 15/1878: {Adjusting colours (image colour correction or control for documents in general H04N1/60)}
- H04N 1/52: Circuits or arrangements for halftone screening
- H04N 1/6002: {Corrections within particular colour systems}
- H04N 1/6027: {Correction or control of colour gradation or colour contrast (H04N1/6058 takes precedence)}
- B29C: SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING (making preforms B29B11/00; making laminated products by combining previously unconnected layers which become one product whose layers will remain together B32B37/00 - B32B41/00)
- B41J: TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- B33Y: ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A method of operating a three-dimensional object printer to form printed images on a surface of an object with increased color resolution includes generating a plurality of low-precision tone reproduction curves (TRCs) from a plurality of high-precision color conversion entries that are modified by a plurality of values in a one-to-one correspondence to the TRCs. The method further comprises generating modified contone image and halftone image data for each plane using one of the low-precision TRCs and forming the image from multiple printed layers of ink corresponding to the plurality of planes.

## Claims

### Claim 1

A method of operating a three-dimensional object printer comprising:
generating with a controller a first tone reproduction curve (TRC) having a first plurality of entries with a first precision, the first plurality of entries being generated with reference to a second plurality of entries having a second precision, the second plurality of entries being modified by a first value generated within a predetermined range prior to being used to generate the first plurality of entries, the second precision being greater than the first precision;
generating with the controller a second TRC having a third plurality of entries with the first precision, the third plurality of entries being generated with reference to the second plurality of entries being modified by a second value generated within the predetermined range prior to being used to generate the third plurality of entries, the second value being different than the first value;
receiving with the controller input contone image data corresponding to an image to be printed by the printer;
generating with the controller first contone image data for a first plane of a multi-layer printed image with reference to the input contone image data and the first TRC;
generating with the controller first halftone image data with reference to the first contone image data and a predetermined halftone process;
operating with the controller a plurality of inkjets to form a first layer of the multi-layer printed image on a surface of a three-dimensional printed object with reference to the first halftone image data;
generating with the controller second contone image data for a second plane of the three-dimensional printed image with reference to the input contone image data and the second TRC;
generating with the controller second halftone image data with reference to the second contone image data and the predetermined halftone process, the second halftone image data being different than the first halftone image data; and
operating with the controller the plurality of inkjets to form a second layer of the multi-layer printed image on the first layer with reference to the second halftone image data.

### Claim 2 (depends on 1)

The method of claim 1, the generation of the first TRC further comprising:
generating with the controller the first value in the predetermined range at random; and
generating with the controller each entry in the first plurality of entries with reference to a floor function applied to a sum of a corresponding entry in the second plurality of entries with the first value, the sum having the second precision and an output of the floor function producing a value with the first precision for each entry in the first TRC.

### Claim 3 (depends on 2)

The method of claim 2, the generation of the second TRC further comprising:
generating with the controller the second value in the predetermined range at random; and
generating with the controller each entry in the second plurality of entries with reference to the floor function applied to a sum of a corresponding entry in the second plurality of entries with the second value, the sum having the second precision and an output of the floor function producing a value with the first precision for each entry in the second TRC.

### Claim 4 (depends on 3)

The method of claim 3, the generation of the first value and the second value further comprising:
generating with the controller the first value with a random number generator that produces random values with a uniform distribution over the predetermined range; and
generating with the controller the second value with the random number generator that produces random values with the uniform distribution over the predetermined range.

### Claim 5 (depends on 3)

The method of claim 3 further comprising:
generating with the controller the first value with a first random number generator that produces random values with a uniform distribution over the predetermined range; and
generating with the controller the second value with a second random number generator that produces random values within the predetermined range with a negative correlation to the first value.

### Claim 6 (depends on 1)

The method of claim 1, the generation of the first contone image data further comprising:
identifying with the controller a first integer value of a first datum in the input contone image data;
identifying with the controller a second integer value in one of the first plurality of entries in the first TRC at an index in the first TRC corresponding to the first integer value; and
generating with the controller the first contone image data including the second integer value in a device dependent color space for the printer.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
generating with the controller a plurality of values in the predetermined range at uniform intervals within the predetermined range and a number of the plurality of values being equal to a number of a predetermined plurality of planes used to form the three-dimensional printed image, the number of the predetermined plurality of planes being at least three;
identifying with the controller the first value, the second value, and a third value from the plurality of values with reference to a predetermined permutation;
generating with the controller a third TRC having a fourth plurality of entries with the first precision with reference to the second plurality of entries stored in the memory modified by the third value, the third value being different than the first value and the second value, and the first TRC, the second TRC, and the third TRC including a high frequency signal component;
generating with the controller third contone image data for a third plane of the three-dimensional printed image with reference to the input contone image data and the third TRC;
generating with the controller third halftone image data with reference to the third contone image data and the predetermined halftone process, the third halftone image data being different than the first halftone image data and the second halftone image data; and
operating with the controller the plurality of inkjets to form a third layer of the multi-layer printed image on the second layer with reference to the third halftone image data.

### Claim 8 (depends on 1)

The method of claim 1, the generation of the first TRC further comprising:
generating with the controller the first value as a floating point value in a range of 0.0, inclusive, to 1.0, exclusive;
generating with the controller a floating point sum of the first value and another floating point value stored in one entry of the second plurality of entries; and
generating with the controller an integer value for one entry in the first TRC with reference to a floor function of the floating point sum that produces an integer component of the sum.

### Claim 9 (depends on 1)

The method of claim 1, the generation of the first TRC further comprising:
generating with the controller the first value as an integer value in a range corresponding to a first number of bits of precision for the first precision of the first plurality of entries in the TRC;
generating with the controller an integer sum of the first value and another integer value stored in one entry of the second plurality of entries, the integer sum being stored with a second number of bits of precision corresponding to the second precision of the second plurality of entries; and
generating with the controller an integer value for one entry in the first TRC with reference to a floor function of the integer sum that produces the integer value including only the first number of most-significant bits from the integer sum.

### Claim 10 (depends on 9)

The method of claim 9 wherein the controller generates the one entry in the first plurality of entries in the first TRC with the first precision of eight bits and the controller generates the integer sum with the second precision of sixteen bits.

### Claim 11

A three-dimensional object printer comprising:
a plurality of inkjets configured to eject ink onto a surface of a three-dimensional printed object in a print zone;
a memory; and
a controller operatively connected to the plurality of inkjets and the memory, the controller being configured to:
generate a first tone reproduction curve (TRC) having a first plurality of entries with a first precision, the first plurality of entries being generated with reference to a second plurality of entries having a second precision stored in the memory, the controller modifying the second plurality of entries by a first value generated within a predetermined range prior to being used to generate the first plurality of entries, the second precision being greater than the first precision;
generate a second TRC having a third plurality of entries with the first precision, the third plurality of entries being generated with reference to the second plurality of entries, the controller modifying the second plurality of entries by a second value generated within the predetermined range prior to being used to generate the third plurality of entries, the second value being different than the first value;
receive input contone image data corresponding to an image to be printed by the printer;
generate first contone image data for a first plane of a multi-layer printed image with reference to the input contone image data and the first TRC;
generate first halftone image data with reference to the first contone image data and a predetermined halftone process;
operate the plurality of inkjets to form a first layer of the multi-layer printed image on the surface of the three-dimensional printed object with reference to the first halftone image data;
generate second contone image data for a second plane of the three-dimensional printed image with reference to the input contone image data and the second TRC;
generate second halftone image data with reference to the second contone image data and the predetermined halftone process, the second halftone image data being different than the first halftone image data; and
operate the plurality of inkjets to form a second layer of the multi-layer printed image on the first layer with reference to the second halftone image data.

### Claim 12 (depends on 11)

The three-dimensional object printer of claim 11, the controller being further configured to:
generate the first value in the predetermined range at random; and
generate each entry in the first plurality of entries with reference to a floor function applied to a sum of a corresponding entry in the second plurality of entries with the first value, the sum having the second precision and an output of the floor function producing a value with the first precision for each entry in the first TRC.

### Claim 13 (depends on 12)

The three-dimensional object printer of claim 12, the controller being further configured to:
generate the second value in the predetermined range at random; and
generate each entry in the second plurality of entries with reference to the floor function applied to a sum of a corresponding entry in the second plurality of entries with the second value, the sum having the second precision and an output of the floor function producing a value with the first precision for each entry in the second TRC.

### Claim 14 (depends on 13)

The three-dimensional object printer of claim 13, the controller being further configured to:
generate the first value with a random number generator that produces random values with a uniform distribution over the predetermined range; and
generate the second value with the random number generator that produces random values with the uniform distribution over the predetermined range.

### Claim 15 (depends on 13)

The three-dimensional object printer of claim 13, the controller being further configured to:
generate the first value with a first random number generator that produces random values with a uniform distribution over the predetermined range; and
generate the second value with a second random number generator that produces random values within the predetermined range with a negative correlation to the first value.

### Claim 16 (depends on 11)

The three-dimensional object printer of claim 11, the controller being further configured to:
identify a first integer value of a first datum in the input contone image data;
identify a second integer value in one of the first plurality of entries in the first TRC at an index in the first TRC corresponding to the first integer value; and
generate the first contone image data including the second integer value in a device dependent color space for the printer.

### Claim 17 (depends on 11)

The three-dimensional object printer of claim 11, the controller being further configured to:
generate a plurality of values in the predetermined range at uniform intervals within the predetermined range and a number of the plurality of values being equal to a number of a predetermined plurality of planes used to form the three-dimensional printed image, the number of the predetermined plurality of planes being at least three;
identify the first value, the second value, and a third value from the plurality of values with reference to a predetermined permutation;
generate a third TRC having a fourth plurality of entries with the first precision with reference to the second plurality of entries stored in the memory modified by the third value, the third value being different than the first value and the second value, and the first TRC, the second TRC, and the third TRC including a high frequency signal component;
generate third contone image data for a third plane of the three-dimensional printed image with reference to the input contone image data and the third TRC;
generate third halftone image data with reference to the third contone image data and the predetermined halftone process, the third halftone image data being different than the first halftone image data and the second halftone image data; and
operate the plurality of inkjets to form a third layer of the multi-layer printed image on the second layer with reference to the third halftone image data.

### Claim 18 (depends on 11)

The three-dimensional object printer of claim 11, the controller being further configured to:
generate the first value as a floating point value in a range of 0.0, inclusive, to 1.0, exclusive;
generate a floating point sum of the first value and another floating point value stored in one entry of the second plurality of entries; and
generate with the controller an integer value for one entry in the first TRC with reference to a floor function of the floating point sum that produces an integer component of the sum.

### Claim 19 (depends on 11)

The three-dimensional object printer of claim 11, the controller being further configured to:
generate the first value as an integer value in a range corresponding to a first number of bits of precision for the first precision of the first plurality of entries in the TRC;
generate an integer sum of the first value and another integer value stored in one entry of the second plurality of entries, the integer sum being stored with a second number of bits of precision corresponding to the second precision of the second plurality of entries; and
generate an integer value for one entry in the first TRC with reference to a floor function of the integer sum that produces the integer value including only the first number of most-significant bits from the integer sum.

### Claim 20 (depends on 19)

The three-dimensional object printer of claim 19, the controller being further configured to:
generate the one entry in the first plurality of entries in the first TRC with the first precision of eight bits and generate the integer sum with the second precision of sixteen bits.
