GRAPHICAL USER INTERFACE FOR SELECTION OF OPTIONS FROM OPTION GROUPS AND METHODS RELATING TO SAME
A system providing a graphical user interface for the selection of options from option groups and method for implementing the same. A graphical user interface enables a user to see the results of applying virtual makeup to an image of a person's face. The interface may enable a user to select the color of the makeup to be applied through a circular region with a series of option tabs. The outer portion of the circular region, or the flywheel, may have multiple color segments. The color segments are arranged so that adjacent color segments may be perceived to be most similar. The inner portion of the circle may present the history of the colors previously chosen and may have an uncolored center circle, and a series of uncolored circles surrounding the center circle.
1 . A computer program product for rendering a graphical user interface component for selecting color to apply to an image comprising computer readable program code, said computer readable program code executing in a tangible memory medium and configured to:
display a graphical user interface component comprising a palette selection region, a color selection region, a history screen region further comprising a current selected region and a plurality of recently selected screen regions;
identify an identified region of a subject image to apply a color;
define at least one color palette to associate with said palette selection region;
display a plurality of color choices within said at least one color palette in said color selection region;
obtain input from a user representing a first color choice made by said user;
apply said first color choice to said identified region of a subject image;
display said first color choice in said current selected region;
if second color choice is input by said user, apply said new color choice to said identified region of said subject image; and
display said new color choice in said current selected region; and
display said first color choice in one of said plurality of recently selected screen regions.
2 . The computer program product of claim 1 wherein said color palette is defined by said user.
3 . The computer program product of claim 1 wherein said color palette is defined by a default selection.
4 . The computer program product of claim 1 wherein said color palette is defined based on a color profile of an associated image.
5 . The computer program product of claim 1 wherein said color palette is defined based on said identified region of said subject image.
6 . The computer program product of claim 1 wherein said color palette represents colors associated with a cosmetic product.
7 . The computer program product of claim 1 wherein said color palette represents a product line of products and their associated characteristics.
8 . The computer program product of claim 6 wherein said cosmetic product is a facial cosmetic product.
9 . The computer program product of claim 8 wherein said facial cosmetic product is foundation.
10 . The computer program product of claim 8 wherein said facial cosmetic product is blush.
11 . The computer program product of claim 8 wherein said facial cosmetic product is concealer.
12 . The computer program product of claim 8 wherein said facial cosmetic product is eye shadow.
13 . The computer program product of claim 8 wherein said facial cosmetic product is mascara.
14 . The computer program product of claim 8 wherein said facial cosmetic product is eye liner.
15 . The computer program product of claim 8 wherein said facial cosmetic product is lipstick.
16 . The computer program product of claim 8 wherein said facial cosmetic product is lip gloss.
17 . The computer program product of claim 8 wherein said facial cosmetic product is lip liner.
18 . The computer program product of claim 1 wherein said palette selection region is a tab adjacent to said color selection region.
19 . The computer program product of claim 1 wherein said color selection region is visually represented as a flywheel separated into segments for plurality of said color choices.
20 . The computer program product of claim 1 wherein said recently selected screen region moves in descending order of most to least recently selected color choices.
21 . The computer program product of claim 1 wherein definition of said at least one color palette to associate with said palette selection region is defined by said user.
22 . The computer program product of claim 1 wherein definition of said at least one color palette to associate with said palette selection region is defined by a system.
23 . The computer program product of claim 1 wherein definition of said at least one color palette to associate with said palette selection region is defined by said identified region of subject image.
24 . The computer program product of claim 1 wherein a context sensitive menu is presented to said user when said user selects said identified region of said subject image, wherein said context sensitive menu presents at least one action that is associated with said identified region.
25 . The computer program product of claim 1 further configured to present at least one option group wherein said at least one option group is associated with said at least one color palette.
26 . A method for displaying a color selection region comprising:
creating a circular doubly linked flywheel data structure, said flywheel data structure comprising a plurality of records;
associating each record of said plurality of records with a segment on a flywheel display;
associating each color of a plurality of colors with each record of said plurality of records;
calculating a local cost for a color;
when said local cost is less than zero, swapping said record of said color with a next record of a next color; and
displaying a first color in said plurality of color on a first segment of said flywheel display.
27 . The method of claim 26 wherein said calculating a local cost for a color comprises determining differences in color space of said record and said next record.
28 . The method of claim 26 wherein said flywheel display is visually represented as a circle.
29 . The method of claim 26 wherein said flywheel display is visually represented as an ellipse.
30 . A computer program product for rendering a graphical user interface component for selecting color to apply to an image comprising computer readable program code, said computer readable program code executing in a tangible memory medium and configured to:
display a graphical user interface component comprising a palette selection region, a color selection region further comprising a flywheel display, a history screen region further comprising a current selected region and a plurality of recently selected screen regions;
identify a region of a subject image to apply a color to;
define at least one color palette to associate with said palette selection region;
create a circular doubly linked flywheel data structure, said flywheel data structure comprising a plurality of records;
associate each record of said plurality of records with a segment on a flywheel display;
associate each color of a plurality of colors with each record of said plurality of records;
calculate a local cost for a color;
when said local cost is less than zero, swap said record of said color with a next record of a next color; and
display a first color in said plurality of color on a first segment of said flywheel display.
obtain input from a user representing a first color choice made by said user;
apply said first color choice to said identified region of a subject image;
display said first color choice in said current selected region;
if second color choice is input by said user, apply said new color choice to said identified region of said subject image;
display said new color choice in said current selected region; and
display said first color choice in one of said plurality of recently selected screen regions.
31 . A computer program product for rendering a graphical user interface component for selecting color to apply to an image comprising computer readable program code, said computer readable program code executing in a tangible memory medium and configured to:
display a graphical user interface component comprising a palette selection region, a color selection region;
identify a first identified region of a subject image to apply a first color;
obtain input from a user to determine a first color choice of said first identified region;
identify a second identified region of said subject image to apply a second color;
obtain input from said user to determine a second color choice of said second identified region; and,
store a look of said subject image, said look comprising said first color choice and said second color choice.
32 . A computer readable storage medium encoded with computer program instructions which when accessed by a computer cause the computer to load the program instructions to a memory therein creating a special purpose data structure causing the computer to operate as a specially programmed computer executing a method of displaying color selection history comprising:
displaying in a specially programmed computer a graphical user interface component comprising a palette selection region, a color selection region, a history screen region further comprising a current selected region and a plurality of recently selected screen regions;
receiving through a human interface device, an identified region of a subject image to apply a color;
computing at least one color palette to associate with said palette selection region in one or more processors;
displaying a plurality of color choices within at least one color palette in said color selection region;
receiving through said human interface device input from a user representing a first color choice made by said user;
displaying said first color choice to said identified region of a subject image;
displaying said first color choice in said current selected region;
if second color choice is input by said user, displaying said new color choice to said identified region of said subject image; and
displaying said new color choice in said current selected region; and
displaying said first color choice in one of said plurality of recently selected screen regions.