IP Library Granted Patent US 11,250,810
Granted Patent B2
US 11,250,810 · App. 16/891,908 · Granted Feb 15, 2022

Rendering images on displays

Inventors: Edward Buckley (Redmond, WA); Gareth Valentine (Redmond, WA); Christophe Antoine Hurni (Seattle, WA); James Ronald Bonar (Redmond, WA)
Assignee: Facebook Technologies, LLC.
G09G5/04G06T11/001G09G5/10G09G2320/062G09G2320/0666
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,250,810
App. No.
16/891,908
Granted
Feb 15, 2022
Kind
B2
Abstract

In one embodiment, a computing system may receive a target color and a propagated error for a pixel location. The system may determine an error-modified target color for the pixel location based on the received target color and the propagated error. The system may identify, based on a location of the error-modified target color in a three-dimensional color space, a subset of pre-determined colors in the three-dimensional color space. The error-modified target color may correspond to a weighted combination of the subset of pre-determined colors. The system may determine a pixel color for the pixel location based on the subset of pre-determined colors and respective weights associated with the subset of pre-determined colors. The system may determine, based on the pixel color, driving signals for light-emitting elements associated with the pixel location. The system may output the driving signals to control the light-emitting elements associated with the pixel location.

Claims (45)

1. A method comprising, by a computing system:

receiving a target color and a propagated error for a pixel location;

determining an error-modified target color for the pixel location based on the received target color and the propagated error;

identifying, based on a location of the error-modified target color in a three-dimensional color space, a subset of a plurality of pre-determined colors defined in the three-dimensional color space, wherein the error-modified target color corresponds to a weighted combination of the subset of pre-determined colors;

determining a pixel color for the pixel location based on the subset of pre-determined colors and respective weights associated with the subset of pre-determined colors;

determining, based on the pixel color, a driving signal having a current density for a light-emitting element associated with the pixel location; and

outputting the driving signal to control the light-emitting element associated with the pixel location, wherein the light-emitting element emits light with a variable color hue depending on the current density.

2. The method of claim 1 , wherein the subset of pre-determined colors each corresponds to a vertex of a tetrahedron associated with the subset of pre-determined colors in the three-dimensional color space.

3. The method of claim 2 , further comprising:

in response to a determination that the location of the error-modified target color falls within a hull of a three-dimensional color gamut in the three-dimensional color space, identifying the tetrahedron from a plurality of tetrahedrons associated with the three-dimensional color gamut based on a determination that the tetrahedron encloses the location of the error-modified target color.

4. The method of claim 2 , further comprising:

in response to a determination that the error-modified target color falls out of a hull of a three-dimensional color gamut, determining a first projection line starting from the location of the error-modified target color pointing to a point on a luminance axis having a same luminance value to the error-modified target color, wherein the tetrahedron is associated with a first intersection of the first projection line with the hull of the three-dimensional color gamut; and

in response to a determination that the first projection line does not intersect with the hull of the three-dimensional color gamut, determining a second projection line starting from the location of the error-modified target color pointing to a center luminance point of the three-dimensional color gamut, wherein the tetrahedron is associated with a second intersection of the second projection line with the hull of the three-dimensional color gamut.

5. The method of claim 2 , further comprising:

determining barycentric weights for the location of the error-modified target color with respect to the vertices of the tetrahedron, and wherein the pixel color is determined based on a vertex associated with a maximum barycentric weight of the location of the error-modified target color.

6. The method of claim 5 , wherein the pixel color for the pixel location is a closest color to the error-modified target color among the plurality of pre-determined colors associated with a three-dimensional color gamut.

7. The method of claim 1 , further comprising:

determining a dithering error based on a difference between the error-modified target color and the pixel color; and

prorogating the dithering error to neighboring pixels using a multi-primary Floyd-Steinberg dithering algorithm, wherein the multi-primary Floyd-Steinberg dithering algorithm has access to information related to a three-dimensional color gamut.

8. The method of claim 1 , wherein the driving signal is a PWM signal configured based on one or more PWM setting parameters, and wherein the one or more PWM setting parameters are determined based on a luminance value associated with the pixel color for the pixel location.

9. The method of claim 8 , wherein the light-emitting element associated with the pixel location emits light corresponding to the pixel color and the luminance value, and wherein the light-emitting element operates in an ON/OFF mode as controlled by the driving signal configured using the one or more PWM setting parameters.

10. The method of claim 1 , wherein the three-dimensional color space is a L*a*b color space, wherein the target color is mapped into the L*a*b color space from a color model defined in a tristimulus color space, an RGB color space, an HSV color space, an HSL color space, or a CMYK color space, and wherein the propagated error is determined by a multi-primary Floyd-Steinberg dithering algorithm during a dithering process for processing preceding pixels.

11. The method of claim 1 , wherein each of the plurality of pre-determined colors corresponds to a combination of two or more pre-determined primary colors associated with the light-emitting element, further comprising:

determining the two or more pre-determined primary colors based on the pixel color, wherein each of the two or more pre-determined primary colors is associated with a pre-determined luminance value.

12. The method of claim 11 , wherein the two or more pre-determined primary colors are determined based on a color-shifting curve associated with the light-emitting element.

13. The method of claim 12 , wherein the light-emitting element emits light with different colors as characterized by the color-shifting curve when driven by driving signals with different current densities.

14. The method of claim 11 , wherein each pre-determined primary color is associated with a combination of a current density and one or more PWM setting parameters for that pre-determined primary color.

15. The method of claim 14 , wherein the current density for that pre-determined primary color controls a color hue of that pre-determined primary color, and wherein the one or more PWM setting parameters for that pre-determined primary color control a brightness level of that pre-determined primary color.

16. The method of claim 1 , wherein each of the plurality of pre-determined colors corresponds to a combination of three pre-determined primary colors generated by light emitted by three light-emitting elements of three display panels, respectively.

17. The method of claim 1 , wherein each of the plurality of pre-determined colors is associated with a combination of two pre-determined primary colors generated by light emitted by two light-emitting elements of two display panels, respectively.

18. The method of claim 1 , wherein the light-emitting element emits light with two or more pre-determined primary colors sequentially in time, and wherein each of the plurality of pre-determined colors in the three-dimensional color space corresponds to a combination of the two or more pre-determined primary colors sequentially produced in time.

19. One or more computer-readable non-transitory storage media embodying software that is operable when executed by a computing device to:

receive a target color and a propagated error for a pixel location;

determine an error-modified target color for the pixel location based on the received target color and the propagated error;

identify, based on a location of the error-modified target color in a three-dimensional color space, a subset of a plurality of pre-determined colors defined in the three-dimensional color space, wherein the error-modified target color corresponds to a weighted combination of the subset of pre-determined colors;

determine a pixel color for the pixel location based on the subset of pre-determined colors and respective weights associated with the subset of pre-determined colors;

determine, based on the pixel color, a driving signal having a current density for a light-emitting element associated with the pixel location; and

output the driving signal to control the light-emitting element associated with the pixel location, wherein the light-emitting element emits light with a variable color hue depending on the current density.

20. A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

receive a target color and a propagated error for a pixel location;

determine an error-modified target color for the pixel location based on the received target color and the propagated error;

identify, based on a location of the error-modified target color in a three-dimensional color space, a subset of a plurality of pre-determined colors defined in the three-dimensional color space, wherein the error-modified target color corresponds to a weighted combination of the subset of pre-determined colors;

determine a pixel color for the pixel location based on the subset of pre-determined colors and respective weights associated with the subset of pre-determined colors;

determine, based on the pixel color, a driving signal having a current density for a light-emitting element associated with the pixel location; and

output the driving signal to control the light-emitting element associated with the pixel location, wherein the light-emitting element emits light with a variable color hue depending on the current density.

Assignments (2)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2020
From: BUCKLEY, EDWARD; VALENTINE, GARETH; HURNI, CHRISTOPHE ANTOINE; BONAR, JAMES RONALD
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 053282/0051 →