# US 10,311,366 B2 · Procedurally generating sets of probabilistically distributed styling attributes for a digital design

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

- Number: US 10,311,366 B2
- Document ID: US10311366B2
- Status: Granted
- Kind: B2
- Application number: 14/937,577
- Filed: 2015-11-10
- Published: 2017-02-02
- Granted: 2019-06-04
- Earliest claimed: 2015-07-29
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Adam Portilla; Peter O'Donovan; Satish Shankar
- Web page: https://patentgrep.com/patent/US10311366B2

## CPC

- G06T 11/60: Creating or editing images; Combining images with text
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/0488: using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06F 18/24133: {Distances to prototypes}
- G06F 40/103: Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191)
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06V 10/761: {Proximity, similarity or dissimilarity measures}
- G06V 30/19173: {Classification techniques}
- G06V 30/414: Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
- G06V 40/16: Human faces, e.g. facial parts, sketches or expressions
- G11B 27/031: Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G06T 2207/10016: Video; Image sequence
- G06T 2207/10024: Color image
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)

## Abstract

The present disclosure is directed toward systems and methods for automatically generating combinations of styling values for application to a digital design. Each of the generated styling value combinations includes styling values selected from one or more probabilistically distributed sets of styling values. One or more embodiments described herein utilize a scoring system to ensure that, when applied to the digital design, the styling values included in the probabilistically distributed sets of styling values will make the digital design look professional and aesthetically pleasing.

## Claims

### Claim 1

In a digital medium environment for generating and modifying digital media, a method for generating styling combinations for an input design comprising:
identifying, in a current digital design, a current styling combination including a plurality of styling attributes each having a current styling value;
identifying a plurality of potential replacement styling values for each attribute of the plurality of styling attributes;
determining a compatibility score for each potential replacement styling value that indicates a compatibility of the potential replacement styling value with the current digital design and any previously selected replacement styling values;
generating, based on the determined compatibility score for each potential replacement styling value, one or more probabilistically distributed sets of potential replacement styling values for each styling attribute;
receiving user input indicating a selected position of a graphical user interface control for modifying the current digital design;
selecting replacement styling values from the one or more probabilistically distributed sets of potential replacement styling values for one or more of the current styling values based on the user input and the determined compatibility scores;
applying the selected replacement styling values to the digital design to generate an updated digital design by changing the current styling values to match the selected replacement styling values; and
generating updated digital designs each time the graphical user interface control is moved to a new position.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein receiving user input in association with the graphical user interface control comprises receiving a selected position of a rotatable user interface control.

### Claim 3 (depends on 1)

The method as recited in claim 1, further comprising generating, based on the selected position of the graphical user interface control, a seed value comprising a unique non-random number.

### Claim 4 (depends on 3)

The method as recited in claim 3, wherein generating, based on the determined compatibility score for each potential replacement styling value, one or more probabilistically distributed sets of potential replacement styling values for each styling attribute comprises weighting each potential replacement styling value such that a probability that a given potential replacement styling value will be selected is based on the compatibility score of the given potential replacement styling value compared to the compatibility scores of the other potential replacement styling values within the probabilistically distributed set.

### Claim 5 (depends on 4)

The method as recited in claim 4, wherein selecting replacement styling values from the one or more probabilistically distributed sets of potential replacement styling values for one or more of the current styling values based on the user input and the determined compatibility scores comprises using the non-random number to select replacement styling values from the one or more probabilistically distributed sets of potential replacement styling values.

### Claim 6 (depends on 1)

The method as recited in claim 1, further comprising associating selected replacement styling values of a given updated digital design with a corresponding seed value such that each time the graphical user interface control is moved into a given position associated with a seed value, the corresponding updated digital design is provided.

### Claim 7 (depends on 1)

The method as recited in claim 1, further comprising:
receiving user input modifying a styling value; and
updating the compatibility scores based on the received user input.

### Claim 8

A non-transitory computer-readable storage medium storing instructions thereon that, when executed by at least one processor, cause a system to:
identify, in an initial digital design, a plurality of styling attributes each having an initial styling value;
identify a plurality of potential replacement styling values for a first styling attribute of the plurality of styling attributes;
determine a compatibility score for each potential replacement styling value for the first styling attribute that indicates a compatibility of the potential replacement styling value with the initial digital design by determining how changing a design element in the digital design to have a given replacement styling value will effect one or more of: proximity to other design elements, visibility of the design element, color contrast with other design elements, font similarity with other design elements, or text content of displayed text;
weight, based on the determined compatibility score for each potential replacement styling value for the first styling attribute, each potential replacement styling value for the first styling attribute;
select, based on the weights for each potential replacement styling value for the first styling attribute, a replacement styling value for the first styling attribute; and
apply the selected replacement styling value to the digital design to generate an updated digital design by changing the initial styling value for the first styling attribute of the digital design to match the selected replacement styling value for the first styling attribute.

### Claim 9 (depends on 8)

The non-transitory computer-readable storage medium as recited in claim 8, further storing instructions thereon that, when executed by the at least one processor, cause the system to generate a probabilistically distributed set of potential replacement styling values for the first styling attribute, wherein the replacement styling value for the first styling attribute is selected from the probabilistically distributed set of potential replacement styling values.

### Claim 10 (depends on 9)

The non-transitory computer-readable storage medium as recited in claim 9, further storing instructions thereon that, when executed by the at least one processor, cause the system to:
identify potential replacement styling values with a compatibility score below a predetermined threshold; and
exclude the identified potential replacement styling values with compatibility scores below the predetermined threshold from the probabilistically distributed set of potential replacement styling values.

### Claim 11 (depends on 9)

The non-transitory computer-readable storage medium as recited in claim 9, wherein the instructions, when executed by the at least one processor, cause the system to weight each potential replacement styling value by determining a probability that a given potential replacement styling value will be selected is based on the compatibility score of the given potential replacement styling value compared to the compatibility scores of the other potential replacement styling values within the probabilistically distributed set.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium as recited in claim 11, wherein the instructions, when executed by the at least one processor, cause the system to select, based on the weights for each potential replacement styling value for the first styling attribute, a replacement styling value for the first styling attribute of the plurality of styling attributes based on:
identifying a graphical interface control position based on user manipulation of a graphical interface control; and
using a seed value to select the replacement styling value from the probabilistically distributed set of potential replacement styling values.

### Claim 13 (depends on 12)

The non-transitory computer-readable storage medium as recited in claim 12, further storing instructions thereon that, when executed by the at least one processor, cause the system to perform a hash of the graphical interface control position to generate a seed value and using the seed value to select the replacement styling value from the probabilistically distributed set of potential replacement styling values.

### Claim 14 (depends on 8)

The non-transitory computer-readable storage medium as recited in claim 8, further storing instructions thereon that, when executed by the at least one processor, cause the system to determine a compatibility score for each potential replacement styling value for a second styling attribute that indicates a compatibility of the potential replacement styling value with the initial digital design and the selected replacement styling value for the first styling attribute.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium as recited in claim 14, further storing instructions thereon that, when executed by the at least one processor, cause the system to:
select, based on the determined compatibility scores for each potential replacement styling value for the second styling attribute, a replacement styling value for the second styling attribute; and
replace the initial styling value for the second styling attribute of the digital design with the selected replacement styling value for the second styling attribute.

### Claim 16 (depends on 8)

The non-transitory computer-readable storage medium as recited in claim 8, further storing instructions thereon that, when executed by the at least one processor, cause the system to:
determine an updated compatibility score for each potential replacement styling value for the first styling attribute that indicates a compatibility of the potential replacement styling value with the updated digital design;
select, based on the determined updated compatibility scores for each potential replacement styling value for the first styling attribute, an updated replacement styling value for the first styling attribute; and
apply the selected updated replacement styling value to the updated digital design to generate another updated digital design by changing the selected replacement styling value for the first styling attribute of the updated digital design to match the selected updated replacement styling value.

### Claim 17 (depends on 8)

The non-transitory computer-readable storage medium as recited in claim 8, further storing instructions thereon that, when executed by the at least one processor, cause the system to receive user input indicating a selected position of a graphical user interface control for modifying the initial digital design.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium as recited in claim 17, wherein selecting the replacement styling value for the first styling attribute is further based on the received user input.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage medium as recited in claim 18, wherein receiving the user input comprises receiving a selected position of a rotatable user interface control.

### Claim 20

A system comprising:
at least one processor; and
at least one non-transitory computer-readable storage medium storing instructions thereon that, when executed by the at least one processor, cause the system to:
identify a plurality of styling attributes in an initial design of a digital media item, wherein each of the plurality of styling attributes is associated with a plurality of styling values;
determine, for each styling attribute, a compatibility score for each of the plurality of styling values that indicates a compatibility of the styling values with the initial design of the digital media item;
identify, for each styling attribute, styling values having a compatibility score above a predetermined threshold;
generate, for each styling attribute, a probabilistically distributed set of styling values with compatibility scores above the predetermined threshold;
identify a position of a graphical user interface control set by a user;
select styling values from each probabilistically distributed set of styling values based on the identified position of the graphical user interface control;
generate a styling combination of the selected styling values; and
applying the generated styling combination to the initial design of the digital media item to generate an updated design of the digital media item by changing the initial design to match the generated styling combination.
