# US 2018/0322661 A1 · Interactive color palette interface for digital painting

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

- Number: US 2018/0322661 A1
- Document ID: US20180322661A1
- Status: Published application
- Kind: A1
- Application number: 15/589,223
- Filed: 2017-05-08
- Published: 2018-11-08
- Earliest claimed: 2017-05-08
- Assignees: Adobe Systems Incorporated
- Applicants: Adobe Systems Incorporated
- Inventors: Maria Shugrina; Stephen J. DiVerdi; Jingwan Lu
- Web page: https://patentgrep.com/patent/US20180322661A1

## CPC

- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06F 3/0488: using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F 3/04883: for inputting data by handwriting, e.g. gesture or text
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An interactive palette interface includes a color picker for digital paint applications. A user can create, modify and select colors for creating digital artwork using the interactive palette interface. The interactive palette interface includes a mixing dish in which colors can be added, removed and rearranged to blend together to create gradients and gamuts. The mixing dish is a digital simulation of a physical palette on which an artist adds and mixes various colors of paint before applying the paint to the artwork. Color blobs, which are logical groups of pixels in the mixing dish, can be spatially rearranged and scaled by a user to create and explore different combinations of colors. The color, position and size of each blob influences the color of other pixels in the mixing dish. Edits to the mixing dish are non-destructive, and an infinite history of color combinations is preserved.

## Claims

### Claim 1

A computer-implemented method of providing an interactive palette interface (GUI) in a digital painting application, the method comprising:
assigning a first set of attributes to a first pixel group, the first set of attributes including a first reference coordinate point, a first color value, and a first size value, the first reference coordinate point defining a location of the first pixel group within the GUI, the first color value defining a color of the first pixel group, and the first size value defining a number of pixels included in the first pixel group;
assigning a second set of attributes to a second pixel group, the second set of attributes including a second reference coordinate point, a second color value, and a second size value, the second reference coordinate point defining a location of the second pixel group within the GUI, the second color value defining a color of the second pixel group, and the second size value defining a number of pixels included in the second pixel group;
calculating a third color value defining a color of an isosurface pixel at a third reference coordinate point, the isosurface pixel being contiguous with, and different from, the pixels in the first and second pixel groups, the third color value being a parametric function of each of the first and second reference coordinate points, the first and second color values, and the first and second size values; and
rendering, in the GUI, the isosurface pixel at the third reference coordinate point using the third color value.

### Claim 2 (depends on 1)

The method of claim 1, further comprising rendering, in GUI, the first pixel group at the location of the first pixel group using the first color value, and rendering, in the GUI, the second pixel group at the location of the second pixel group using the second color value.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving an input representing a modification of the first set of attributes;
updating, in response to the input, the third color value based on the change; and
rendering, in the GUI, the isosurface pixel using the updated third color value.

### Claim 4 (depends on 3)

The method of claim 3, further comprising storing the first set of attributes as an original first set of attributes in an electronic storage medium and prior to the modification of the first set of attributes.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving an input representing a request to revert the change of the first set of attributes;
retrieving, from the electronic storage medium, the original first set of attributes;
updating, in response to the input, the third color value based on the original first set of attributes; and
rendering, in the GUI, the isosurface pixel using the updated third color value.

### Claim 6 (depends on 1)

The method of claim 1, further comprising rendering, in the GUI, at least a partial ring of pixels including the first color associated with the first set of attributes, the ring of pixels at least partially surrounding the location of the isosurface pixel.

### Claim 7 (depends on 1)

The method of claim 1, further comprising generating the first pixel group based at least in part on a color of a plurality of pixels of an existing digital artwork.

### Claim 8

A non-transitory computer readable medium having instructions encoded thereon that when executed by one or more computer processors cause the one or more computer processors to perform a process comprising:
assigning a first set of attributes to a first pixel group, the first set of attributes including a first reference coordinate point, a first color value, and a first size value, the first reference coordinate point defining a location of the first pixel group within an interactive palette interface (GUI), the first color value defining a color of the first pixel group, and the first size value defining a number of pixels included in the first pixel group;
assigning a second set of attributes to a second pixel group, the second set of attributes including a second reference coordinate point, a second color value, and a second size value, the second reference coordinate point defining a location of the second pixel group within the GUI, the second color value defining a color of the second pixel group, and the second size value defining a number of pixels included in the second pixel group;
calculating a third color value defining a color of an isosurface pixel at a third reference coordinate point, the isosurface pixel being contiguous with, and different from, the pixels in the first and second pixel groups, the third color value being a parametric function of each of the first and second reference coordinate points, the first and second color values, and the first and second size values; and
rendering, in the GUI, the isosurface pixel at the third reference coordinate point using the third color value.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the process further comprises rendering, in GUI, the first pixel group at the location of the first pixel group using the first color value, and rendering, in the GUI, the second pixel group at the location of the second pixel group using the second color value.

### Claim 10 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the process further comprises:
receiving an input representing a modification of the first set of attributes;
updating, in response to the input, the third color value based on the change; and
rendering, in the GUI, the isosurface pixel using the updated third color value.

### Claim 11 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the process further comprises storing the first set of attributes as an original first set of attributes in an electronic storage medium and prior to the modification of the first set of attributes.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the process further comprises:
receiving an input representing a request to revert the change of the first set of attributes;
retrieving, from the electronic storage medium, the original first set of attributes;
updating, in response to the input, the third color value based on the original first set of attributes; and
rendering, in the GUI, the isosurface pixel using the updated third color value.

### Claim 13 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the process further comprises rendering, in the GUI, at least a partial ring of pixels including the first color associated with the first set of attributes, the ring of pixels at least partially surrounding the location of the isosurface pixel.

### Claim 14 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the process further comprises generating the first pixel group based at least in part on a color of a plurality of pixels of an existing digital artwork.

### Claim 15

A system for converting mechanical markings on hardcopy textual content to digital annotations in a digital document file, the system comprising:
a storage; and
a processor operatively coupled to the storage, the processor configured to execute instructions stored in the storage that when executed cause the processor to carry out a process including
step for assigning a first set of attributes to a first pixel group, the first set of attributes including a first reference coordinate point, a first color value, and a first size value, the first reference coordinate point defining a location of the first pixel group within an interactive palette interface (GUI), the first color value defining a color of the first pixel group, and the first size value defining a number of pixels included in the first pixel group;
step for assigning a second set of attributes to a second pixel group, the second set of attributes including a second reference coordinate point, a second color value, and a second size value, the second reference coordinate point defining a location of the second pixel group within the GUI, the second color value defining a color of the second pixel group, and the second size value defining a number of pixels included in the second pixel group;
step for calculating a third color value defining a color of an isosurface pixel at a third reference coordinate point, the isosurface pixel being contiguous with, and different from, the pixels in the first and second pixel groups, the third color value being a parametric function of each of the first and second reference coordinate points, the first and second color values, and the first and second size values; and
rendering, in the GUI, the isosurface pixel at the third reference coordinate point using the third color value.

### Claim 16 (depends on 15)

The system of claim 15, wherein the process further comprises rendering, in GUI, the first pixel group at the location of the first pixel group using the first color value, and rendering, in the GUI, the second pixel group at the location of the second pixel group using the second color value.

### Claim 17 (depends on 15)

The system of claim 15, wherein the process further comprises:
receiving an input representing a modification of the first set of attributes;
step for updating, in response to the input, the third color value based on the change; and
rendering, in the GUI, the isosurface pixel using the updated third color value.

### Claim 18 (depends on 17)

The system of claim 17, wherein the process further comprises:
storing the first set of attributes as an original first set of attributes in an electronic storage medium and prior to the modification of the first set of attributes;
receiving an input representing a request to revert the change of the first set of attributes;
retrieving, from the electronic storage medium, the original first set of attributes;
updating, in response to the input, the third color value based on the original first set of attributes; and
rendering, in the GUI, the isosurface pixel using the updated third color value.

### Claim 19 (depends on 15)

The system of claim 15, wherein the process further comprises rendering, in the GUI, at least a partial ring of pixels including the first color associated with the first set of attributes, the ring of pixels at least partially surrounding the location of the isosurface pixel.

### Claim 20 (depends on 15)

The system of claim 15, wherein the process further comprises a step for generating the first pixel group based at least in part on a color of a plurality of pixels of an existing digital artwork using an algorithm for sampling and clustering the pixels of the existing digital artwork.
