IP Library › Granted Patent US 11,557,266
Granted Patent B2
US 11,557,266 · App. 17/340,815 · Granted Jan 17, 2023

Adaptive recoloring

Inventor: Samuel Christopher Harwell (San Diego, CA)
Assignee: Microsoft Technology Licensing, LLC
G09G5/06G09G2320/0606G09G2320/0613G09G2320/0666G09G2320/0686G09G2340/045G09G2340/06G09G2354/00G09G2360/144G09G2360/145
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,557,266
App. No.
17/340,815
Granted
Jan 17, 2023
Kind
B2
Abstract

Adaptive recoloring of displayed digital content automatically pursues specified active color palette goals while adhering to specified active color palette constraints. Source code editors, word processors, and other programs are enhanced by adaptive recoloring. Recoloring rules may specify coloring roles, colors, tolerances, color spaces, metrics, and other criteria. Recoloring may be triggered by a zoom or another change in user focus, by a brightness change, a screen size change, by notice of a user perception change, or by another event. Recoloring improves text legibility, assists user focus, compensates for differences in color perception and emotional impact, and increases color availability without degrading usability, for example. Transitions between words or other display items can be heightened. Branding colors may be preserved, in logos and text. Automatic selections may be overridden by a user command or by interactive tuning, with warnings given as appropriate.

Claims (97)

1. A computing system equipped for adaptive recoloring, the computing system comprising:

a display having an associated preliminary color palette;

a digital memory; and

a processor in operable communication with the digital memory and the display, the processor configured to perform adaptive recoloring steps which include (a) identifying one or more active color palette constraints, (b) ascertaining one or more active color palette goals, (c) determining an optimized color palette, through an optimization algorithm, in view of at least one active color palette constraint and at least one active color palette goal, wherein the determined optimized color palette is closer to at least one active color palette goal than the preliminary color palette is to the active color palette goal and wherein the optimized color palette is compliant with all active color palette constraints, the active color palette goal is pursued at least in part by adjusting at least one candidate color or by rejecting at least one candidate color, or both, and (d) configuring at least a portion of the display to use the optimized color palette in place of the preliminary color palette.

2. The system of claim 1 , wherein each color palette defines at least two coloring roles, and the at least one active color palette goal specifies at least one of the following:

changing a color difference between a first coloring role and a second coloring role;

changing a first display item color difference between a first coloring role and a second coloring role in a first display item while maintaining a second display item color difference between the first coloring role and the second coloring role in a second display item; or

changing a color difference between a first display item color in a coloring role in a first display item and a second display item color in the coloring role in a second display item.

3. The system of claim 1 , wherein the display includes a focus area and a non-focus area, and the at least one active color palette goal specifies at least one of the following:

increasing a color difference between a first display item in the focus area and a second display item in the non-focus area;

providing a color difference gradient between a first display item in the focus area and a second display item in the non-focus area; or

increasing a color difference between a first display item which is in the focus area and which has a first coloring role and a second display item which also has the first coloring role but is in the non-focus area.

4. The system of claim 1 , wherein the at least one active color palette constraint specifies at least one of the following:

limiting a color difference between a replaced color of the preliminary color palette and replacement color which replaces the replaced color in the optimized color palette;

limiting a color difference between a replaced color of the preliminary color palette which at least partially fills a coloring role, and a replacement color which replaces the replaced color in the optimized color palette and also at least partially fills the coloring role; or

limiting a color spacing difference between a set of replaced colors of the preliminary color palette and a set of replacement colors which replaces the set of replaced colors in the optimized color palette.

5. The system of claim 1 , further comprising a perception compensation mapping which specifies at least one of the following:

an isometry between the preliminary color palette and the optimized color palette;

a tolerance isometry between the preliminary color palette and the optimized color palette;

a mapping which transforms color differences in a trichromatic space to color differences in a fully dichromatic space;

a mapping which transforms color differences in a trichromatic space to color differences in a protanopic space;

a mapping which transforms color differences in a trichromatic space to color differences in a deuteranopic space;

a mapping which transforms color differences in a trichromatic space to color differences in a tritanopic space;

a mapping which transforms color differences in a trichromatic space to color differences in a monochromatic space; or

a mapping which transforms color differences in a trichromatic space to color differences in a space optimized for viewers with autism, an attention deficit disorder, a cognitive learning challenge, or a diagnosed condition characterized at least in part by an emotional response to one or more colors.

6. A method for adaptively recoloring a display, the method comprising automatically and proactively:

identifying one or more active color palette constraints;

ascertaining one or more active color palette goals;

determining an optimized color palette, through an optimization algorithm, in view of at least one active color palette constraint and at least one active color palette goal, wherein the determined optimized color palette is closer to at least one active color palette goal than a preliminary color palette is to the active color palette goal and wherein the optimized color palette is compliant with all active color palette constraints, and the active color palette goal is pursued at least in part by adjusting at least one candidate color or by rejecting at least one candidate color, or both; and

configuring at least a portion of a display to use the optimized color palette in place of the preliminary color palette.

7. The method of claim 6 , wherein determining an optimized color palette comprises at least one of the following:

increasing a difference between coloring roles in response to detecting a decrease in a physical dimension of a displayed text;

decreasing a difference between coloring roles in response to detecting an increase in a physical dimension of a displayed text;

increasing a difference between coloring roles in response to detecting use of a screen which has a physical dimension below a specified threshold; or

decreasing a difference between coloring roles in response to detecting use of a screen which has a physical dimension above a specified threshold.

8. The method of claim 6 , wherein determining an optimized color palette comprises:

recognizing a user action which indicates a focus area of the display; and

distinguishing the focus area from a non-focus area in at least one of the following ways: applying an area-specific color palette constraint, or pursuing an area-specific color palette goal.

9. The method of claim 6 , further comprising at least one of the following:

deactivating an active color palette constraint in response to a user action;

deactivating an active color palette goal in response to a user action;

modifying an active color palette constraint in response to a user action;

modifying an active color palette goal in response to a user action;

in response to a user action requesting a change to a color, warning the user that changing the color as requested will violate an active color palette constraint; or

in response to a user action requesting a change to a color, warning the user that changing the color as requested will hinder pursuit of an active color palette goal.

10. The method of claim 6 , wherein determining an optimized color palette comprises at least one of the following:

increasing a difference between coloring roles only within a focus area of the display; or

decreasing a difference between coloring roles only within a non-focus area of the display.

11. The method of claim 6 , wherein determining an optimized color palette comprises heightening a color transition between a pair of adjacent words, the pair including a first word and a second word, such that a color difference between a first pixel at a first location in the first word and a second pixel at a second location in the second word increases as a screen distance between the first location and the second location reduces.

12. The method of claim 6 , wherein determining an optimized color palette comprises at least one of the following:

increasing a difference between coloring roles in response to detecting a decrease in a display brightness;

decreasing a difference between coloring roles in response to detecting an increase in a display brightness;

increasing a difference between coloring roles in response to detecting an increase in an ambient brightness; or

decreasing a difference between coloring roles in response to detecting a decrease in an ambient brightness.

13. The method of claim 6 , wherein determining an optimized color palette comprises:

selecting a color which is not in the preliminary color palette but is closer to a preliminary palette color than is permitted by an active color palette distance constraint; and

replacing the preliminary palette color with a replacement color that satisfies the active color palette distance constraint;

wherein the optimized color palette includes the selected color, and all colors in the optimized palette satisfy the active color palette distance constraint.

14. The method of claim 6 , further comprising performing syntax highlighting, wherein the syntax highlighting employs two or more colors of the optimized color palette, and wherein the syntax highlighting employs at least one color that is in the optimized color palette and not in the preliminary color palette.

15. The method of claim 6 , wherein determining an optimized color palette comprises:

displaying at least two colors;

receiving a color alteration command through a user interface;

altering at least one color based on the color alteration command; and

updating the display to reflect the color altering;

wherein the optimized color palette is specified at least in part by interactive color tuning.

16. A computer-readable storage device configured with data and instructions which upon execution by a processor cause a computing system to perform a method for adaptively recoloring a display, the method comprising automatically:

identifying one or more active color palette constraints;

ascertaining one or more active color palette goals;

determining an optimized color palette, through an optimization algorithm, in view of at least one active color palette constraint and at least one active color palette goal, wherein the determined optimized color palette is closer to at least one active color palette goal than a preliminary color palette is to the active color palette goal and wherein the optimized color palette is compliant with all active color palette constraints, and the active color palette goal is pursued at least in part by adjusting at least one candidate color or by rejecting at least one candidate color, or both; and

configuring at least a portion of a display to use the optimized color palette in place of the preliminary color palette.

17. The storage device of claim 16 , in combination with the display, and wherein the display includes at least one of the following:

a screen;

a projector;

a device configured to show a two-dimensional image; or

a device configured to show a three-dimensional image.

18. The storage device of claim 16 , wherein configuring the display includes displaying at least one of the following in an image that includes at least two colors of the optimized color palette:

a source code text;

a natural language text;

a mathematical expression;

a line drawing;

a logo; or

a photograph derivative.

19. The storage device of claim 16 , wherein determining an optimized color palette comprises:

recognizing a user zooming action which indicates a focus area of the display; and

increasing a color difference between a first display item in the focus area and a second display item in a non-focus area.

20. The storage device of claim 16 , wherein each color palette defines at least two of the following coloring roles:

a foreground role;

a background role;

a selection-based highlighting role;

a syntax-based highlighting role;

a dormant role;

an adornment role;

an underline role;

a partial underline role;

an outline role;

a warning role; or

an error role.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2021
From: HARWELL, SAMUEL CHRISTOPHER
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056457/0533 →
Continuity (1)
Related Publication 20220392420A1 · Dec 8, 2022
Cited By (1)
US 12,354,514