# US 8,542,324 B2 · Efficient image and video recoloring for colorblindness

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

- Number: US 8,542,324 B2
- Document ID: US8542324B2
- Status: Granted
- Kind: B2
- Application number: 12/790,176
- Filed: 2010-05-28
- Published: 2011-12-01
- Granted: 2013-09-24
- Earliest claimed: 2010-05-28
- Assignees: Microsoft Corporation
- Applicants: Meng Wang; Linjun Yang; Xian-Sheng Hua; Bo Liu
- Inventors: Meng Wang; Linjun Yang; Xian-Sheng Hua; Bo Liu
- Web page: https://patentgrep.com/patent/US8542324B2

## CPC

- A61B 3/066: {for testing colour vision}
- H04N 1/465: {Conversion of monochrome to colour}
- H04N 1/58: Edge or detail enhancement; Noise or error suppression, e.g. colour misregistration correction (H04N1/62 takes precedence)
- H04N 1/6075: {Corrections to the hue}
- A61B: DIAGNOSIS; SURGERY; IDENTIFICATION (usefulness limited to only animals A61D)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Colors of images and videos are modified to make differences in the colors more perceptible to colorblind users. An exemplary recoloring process utilizes a color space transformation, a local color rotation and a global color rotation to transform colors of visual objects from colors which may not be distinguishable by the colorblind user to colors which may be distinguishable by the colorblind user.

## Claims

### Claim 1

A computer-implemented method comprising:
implementing a processor to execute computer executable instructions stored on a computer-readable medium to perform operations comprising:
identifying one or more shots within a video stream;
performing a first color rotation and a second color rotation on a first frame of a shot to obtain recoloring parameters;
applying the recoloring parameters to one or more frames remaining in the shot;
determining recoloring parameters for an adjacent shot by comparing the first frame of the shot with one or more frames of the adjacent shot to compute a discrepancy value;
if the discrepancy value is within a given threshold, applying the recoloring parameters determined for the first frame of the shot as the recoloring parameters for the adjacent shot; and
if the discrepancy value is greater than the given threshold, determining the recoloring parameters for the adjacent frame independent of the first frame of the shot.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the first frame comprises one or more color values in an RGB (red, green and blue) color space or a CMYK (cyan, magenta, yellow and black) color space.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2 further comprising transforming the one or more color values from the RGB color space or the CMYK color space to a CIELAB (CIE L*a*b*) color space.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first color rotation comprises a local color rotation operation utilizing an angle corresponding to a color value within a set of one or more color values.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the second color rotation comprises a global color rotation operation rotating a set of one or more color values at a same angle such that relative orientations of color points within the first frame are maintained.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising selecting a recoloring parameter of the recoloring parameters determined for the first frame of the shot by performing a grid search from a pre-defined candidate set, where the pre-defined candidate set maximizes diversity of one or more colors within the first frame.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the pre-defined candidate set is {−π/2, −π/3, −π/6, 0, π/6, π/3, π/2}.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, wherein the pre-defined candidate set is user-defined.

### Claim 9

A system comprising:
one or more processors;
memory;
a color transformation module stored in the memory and executable by the one or more processors that is configured to:
identify one or more shots within a video stream;
perform a first color rotation and a second color rotation on a first frame of a shot of the one or more shots to obtain recoloring parameters;
apply the recoloring parameters to one or more frames remaining in the shot;
determine recoloring parameters for an adjacent shot by comparing the first frame of the shot with one or more frames of the adjacent shot to compute a discrepancy value;
apply the recoloring parameters determined for the first frame of the shot as the recoloring parameters for the adjacent shot if the discrepancy value is within a given threshold; and
determine the recoloring parameters for the adjacent shot independent of the first frame of the shot if the discrepancy value is greater than the given threshold.

### Claim 10 (depends on 9)

The system of claim 9, wherein the first frame comprises one or more color values in an RGB (red, green and blue) color space or a CMYK (cyan, magenta, yellow and black) color space.

### Claim 11 (depends on 10)

The system of claim 10, wherein the color transformation module is further configured to transform the one or more color values from the RGB color space or the CMYK color space to a CIELAB (CIE L*a*b*) color space.

### Claim 12 (depends on 9)

The system of claim 9, wherein the first color rotation comprises a local color rotation operation utilizing an angle corresponding to a color value within a set of one or more color values.

### Claim 13 (depends on 9)

The system of claim 9, wherein the second color rotation comprises a global color rotation operation rotating a set of one or more color values at a same angle such that relative orientations of color points within the first frame are maintained.

### Claim 14 (depends on 9)

The system of claim 9, wherein the color transformation module is further configured to select a recoloring parameter by performing a grid search from a pre-defined candidate set, wherein the pre-defined candidate set maximizes diversity of one or more colors within the first frame.

### Claim 15 (depends on 14)

The system of claim 14, wherein the pre-defined candidate set comprises {−π/2, −π/3, −π/6, 0, π/6, π/3, π/2} or a user-defined set.

### Claim 16

A method comprising:
under control of one or more processors configured with executable instructions,
identifying one or more shots within a video stream;
performing a first color rotation and a second color rotation on a first frame of a shot to obtain recoloring parameters, wherein the first color rotation comprises a local color rotation operation utilizing an angle corresponding to a color value within a set of one or more color values, and the second color rotation comprises a global color rotation operation rotating the set of one or more color values at a same angle such that relative orientations of color points within the first frame are maintained;
applying the recoloring parameters to one or more frames remaining in the shot;
determining recoloring parameters for an adjacent shot by comparing the first frame of the shot with one or more frames of the adjacent shot to compute a discrepancy value;
if the discrepancy value is within a given threshold, applying the recoloring parameters determined for the first frame of the shot as the recoloring parameters for the adjacent shot; and
if the discrepancy value is greater than the given threshold, determining the recoloring parameters for the adjacent frame independent of the first frame of the shot.
