US10733769B2ActiveUtilityA1

Systems and methods for generating color schemes

Assignee: LYFT INCPriority: Aug 21, 2018Filed: Aug 21, 2018Granted: Aug 4, 2020
Est. expiryAug 21, 2038(~12.1 yrs left)· nominal 20-yr term from priority
Inventors:John Arnott
G06T 11/10H04N 1/6005G06T 7/90H04N 1/6075H04N 1/60G06T 11/001
52
PatentIndex Score
0
Cited by
5
References
20
Claims

Abstract

The disclosed computer-implemented method may include generating color schemes. In some embodiments, the systems described herein may generate a color scheme by plotting non-linear curves through various planes that each represent an attribute of a color, selecting points on the curves, and generating colors from the values of the points. By generating colors schemes based on non-linear curves, the systems described herein may easily and efficiently generate aesthetically pleasing color schemes with colors predictably clustered in light and dark luminosities, facilitating the creation of user interfaces that are accessible to visually impaired users. Various other methods, systems, and computer-readable media are also disclosed.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method comprising:
 defining a non-linear curve through a space that comprises at least two dimensions, wherein each dimension of the space represents an attribute of a color as described by a numerical value; 
 selecting a set of points within the space that fall on the non-linear curve based at least in part on the set of points falling on the non-linear curve; 
 generating a color scheme comprising a set of related colors by, for each point in the set of points, defining a color within the color scheme based at least in part on the attribute of the color described by a numerical value of the point within the dimension of the space that represents the attribute; and 
 providing at least one color from the color scheme for display within a user interface. 
 
     
     
       2. The computer-implemented method of  claim 1 , wherein selecting the set of points within the space that fall on the non-linear curve comprises selecting a set of points based at least in part on a predetermined distance between at least one numerical value of each point in the set of points and at least one corresponding numerical value of each additional point in the set of points that is immediately adjacent to the point. 
     
     
       3. The computer-implemented method of  claim 1 , wherein:
 defining the non-linear curve through the space that comprises at least two dimensions comprises defining a plurality of non-linear curves each through a different space within a plurality of spaces, wherein each space comprises at least one dimension that represents an additional attribute of a color; 
 selecting a set of points within the space comprises selecting an additional set of points within each space within the plurality of spaces, based at least in part on the additional set of points falling on the non-linear curve through the space within the plurality of spaces; and 
 generating the color scheme comprises, for each point in each additional set of points, defining a color within the color scheme based at least in part on the attribute of the color described by a numerical value of the point within the dimension of the space that represents the attribute. 
 
     
     
       4. The computer-implemented method of  claim 1 , wherein defining the non-linear curve through the space that comprises the at least two dimensions comprises defining the non-linear curve through the space that comprises three dimensions. 
     
     
       5. The computer-implemented method of  claim 4 , wherein the three dimensions comprise:
 a dimension that represents a hue attribute of the color; 
 a dimension that represents a luminosity attribute of the color; and 
 a dimension that represents a saturation attribute of the color. 
 
     
     
       6. The computer-implemented method of  claim 1 , further comprising applying a human-readable naming scheme to the color scheme that provides contrast information that enables an algorithmic determination of whether any color within the color scheme has sufficient contrast with any other color to meet a predetermined visual accessibility threshold for visual contrast. 
     
     
       7. The computer-implemented method of  claim 1 , wherein defining the non-linear curve comprises defining a non-linear curve that facilitates accessible color schemes by producing color schemes that each comprise a concentration of dark colors and a concentration of light colors. 
     
     
       8. The computer-implemented method of  claim 1 , wherein the non-linear curve comprises a Bezier curve. 
     
     
       9. The computer-implemented method of  claim 1 , further comprising enabling a user to specify at least one of a starting point and an ending point of the non-linear curve. 
     
     
       10. The computer-implemented method of  claim 1 , wherein:
 defining the non-linear curve comprises receiving input from a user that specifies a non-linear curve, a starting value, and an ending value for at least one attribute of a color; and 
 selecting the set of points within the space that fall on the non-linear curve based at least in part on the set of points falling on the non-linear curve comprises:
 generating, based on the non-linear curve for the attribute, an array of values that represents the attribute; and 
 adjusting the array of values that represents the attribute to fall within the starting value and the ending value for the attribute. 
 
 
     
     
       11. The computer-implemented method of  claim 1 , wherein:
 defining the non-linear curve comprises receiving input from a user that specifies a non-linear curve, a starting value, and an ending value for each of a luminosity attribute of a color, a saturation attribute of a color, and a hue attribute of a color; 
 selecting the set of points within the space that fall on the non-linear curve based at least in part on the set of points falling on the non-linear curve comprises:
 generating, based on the non-linear curve for the luminosity attribute, an array of values that represents the luminosity attribute; 
 adjusting the array of values that represents the luminosity attribute to fall within the starting value and the ending value for the luminosity attribute; 
 generating, based on the non-linear curve for the saturation attribute, an array of values that represents the saturation attribute; 
 adjusting the array of values that represents the saturation attribute to fall within the starting value and the ending value for the saturation attribute; 
 generating, based on the non-linear curve for the hue attribute, an array of values that represents the hue attribute; and 
 adjusting the array of values that represents the hue attribute to fall within the starting value and the ending value for the hue attribute; and 
 
 generating the color scheme comprises combining the array of values that represents the luminosity attribute, the array of values that represents the saturation attribute, and the array of values that represents the hue attribute. 
 
     
     
       12. The computer-implemented method of  claim 1 , further comprising:
 retrieving a previously generated color scheme; 
 adding an additional point that falls on the non-linear curve to a set of points that represent the previously generated color scheme; and 
 adding an additional color to the previously generated color scheme by defining the additional color within the color scheme based at least in part on the attribute of the color described by a numerical value of the point within the dimension of the space that represents the attribute. 
 
     
     
       13. The computer-implemented method of  claim 1 , wherein defining the non-linear curve comprises:
 presenting a user with a plurality of representations of non-linear curves; 
 receiving input from the user indicating a selection of a representation of the non-linear curve from among the plurality of representations of non-linear curves; and 
 defining the non-linear curve in response to the input from the user indicating the selection of the representation of the non-linear curve. 
 
     
     
       14. A system comprising:
 at least one hardware processor; 
 a memory device comprising instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to: 
 define a non-linear curve through a space that comprises at least two dimensions, wherein each dimension of the space represents an attribute of a color as described by a numerical value; 
 select a set of points within the space that fall on the non-linear curve based at least in part on the set of points falling on the non-linear curve; 
 generate a color scheme comprising a set of related colors by, for each point in the set of points, defining a color within the color scheme based at least in part on the attribute of the color described by a numerical value of the point within the dimension of the space that represents the attribute; and 
 provide at least one color from the color scheme for display within a user interface. 
 
     
     
       15. The system of  claim 14 , wherein the instructions cause the at least one hardware processor to select the set of points within the space that fall on the non-linear curve by causing the at least one hardware processor to select a set of points based at least in part on a predetermined distance between at least one numerical value of each point in the set of points and at least one corresponding numerical value of each additional point in the set of points that is immediately adjacent to the point. 
     
     
       16. The system of  claim 14 , wherein:
 the instructions cause the at least one hardware processor to define the non-linear curve through the space that comprises at least two dimensions, by causing the at least one hardware processor to define a plurality of non-linear curves each through a different space within a plurality of spaces, wherein each space comprises at least one dimension that represents an additional attribute of a color; 
 the instructions cause the at least one hardware processor to select a set of points within the space by causing the at least one hardware processor to select an additional set of points within each space within the plurality of spaces, based at least in part on the additional set of points falling on the non-linear curve through the space within the plurality of spaces; and 
 the instructions cause the at least one hardware processor to generate the color scheme by causing the at least one hardware processor to, for each point in each additional set of points, define a color within the color scheme based at least in part on the attribute of the color described by a numerical value of the point within the dimension of the space that represents the attribute. 
 
     
     
       17. The system of  claim 14 , wherein the instructions cause the at least one hardware processor to define the non-linear curve through the space that comprises the at least two dimensions by causing the at least one hardware processor to define the non-linear curve through the space that comprises three dimensions. 
     
     
       18. The system of  claim 17 , wherein the three dimensions comprise:
 a dimension that represents a hue attribute of the color; 
 a dimension that represents a luminosity attribute of the color; and 
 a dimension that represents a saturation attribute of the color. 
 
     
     
       19. The system of  claim 14 , wherein the memory device further comprises instructions that cause the at least one hardware processor to apply a human-readable naming scheme to the color scheme that provides contrast information that enables an algorithmic determination of whether any color within the color scheme has sufficient contrast with any other color to meet a predetermined visual accessibility threshold for visual contrast. 
     
     
       20. A computer-readable medium comprising:
 computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:
 define a non-linear curve through a space that comprises at least two dimensions, wherein each dimension of the space represents an attribute of a color as described by a numerical value; 
 select a set of points within the space that fall on the non-linear curve based at least in part on the set of points falling on the non-linear curve; 
 generate a color scheme comprising a set of related colors by, for each point in the set of points, defining a color within the color scheme based at least in part on the attribute of the color described by a numerical value of the point within the dimension of the space that represents the attribute; and 
 provide at least one color from the color scheme for display within a user interface.

Join the waitlist — get patent alerts

Track US10733769B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.