IP Library Granted Patent US 11,212,421
Granted Patent B2
US 11,212,421 · App. 16/600,962 · Granted Dec 28, 2021

Interactive three-dimensional (3D) color histograms

Inventors: Leon Williams (Walworth, NY); Thor Olson (Eagan, MN)
Assignee: ELECTRONICS FOR IMAGING, INC.
H04N1/6061G06K9/4652G06K9/6212G06T7/90G06T15/04G06T15/50G06T15/503H04N1/60H04N1/6011H04N1/6066G06T2200/24G06T2207/10024G06T2207/20072H04N1/603
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,212,421
App. No.
16/600,962
Granted
Dec 28, 2021
Kind
B2
Abstract

Techniques for interactively determining/visualizing the color content of a source image and how the corresponding image data is mapped to device colors are described herein. For example, the color content of a digital image can be converted between different color spaces to identify gamut limitations of an output device (e.g., a printing assembly), discover color(s) that cannot be accurately reproduced, etc. Color space conversions enable the transformation of the color content of the digital image from device-specific colorants to a device-independent representation (and vice versa). In some embodiments, these transformations are facilitated using lookup tables that are implemented in graphical processing unit-resident memory.

Claims (59)

1. A method of visualizing color content of digital images using a graphical processing unit (GPU), the method comprising:

obtaining source image data that corresponds to a source image for which color content is to be visualized;

subsampling the source image data to produce subsampled image data;

loading the subsampled image data that is in a given color space into GPU-resident memory;

transforming the given color space into a Lab color space to produce a transformed image from the source image;

binning a range of color values in the transformed image by

dividing the Lab color space into a series of bins that represent unique color values, and

establishing a count for each bin by counting occurrences of each unique color value in the transformed image; and

creating a three-dimensional (3D) histogram that represents distribution of the range of color values across the transformed image.

2. The method of claim 1 , wherein each Lab color space value is represented by 8 bits, and wherein the Lab color space includes 2 24 unique color values.

3. The method of claim 2 , further comprising:

quantizing the series of bins so that similar color values are aggregated into a single bin.

4. The method of claim 3 , wherein said quantizing causes the 2 24 unique color values to be represented as 2 18 possible bins.

5. The method of claim 1 , further comprising:

generating an interface through which an administrator uploads the source image for analysis; and

causing display of the 3D histogram on the interface for review by the individual.

6. The method of claim 1 , wherein the source image is automatically retrieved from a network-accessible storage on behalf of an administrator.

7. The method of claim 1 , wherein the given color space is a standard RGB (sRGB) color space or an Adobe RGB color space.

8. The method of claim 1 , wherein the Lab color space is a Hunter 1948 color space or a CIEL*a*b 1976 color space.

9. A method of optimizing image transformation using textures available to a graphical processing unit (GPU), the method comprising:

loading source image data into GPU-resident memory;

allocating a texture to a series of histogram bins that represent distribution of color values of pixels included in the source image data;

programming an alpha blending algorithm that is designed to compute a weighted average of two colors to mimic an increment functionality of a histogram by setting each weight to a value of one;

for each pixel included in the source image data,

transforming a corresponding color value into a coordinate for an appropriate histogram bin, and

applying the alpha blending algorithm to the pixel; and

creating a three-dimensional (3D) histogram of alpha-blended color values that represent distribution of colors in the source image data.

10. The method of claim 9 , further comprising:

generating a source image from the source image data;

presenting the source image and the 3D histogram on an interface for review by an individual; and

enabling the individual to modify a viewable area of the source image,

wherein modifying the viewable area of the source image causes the 3D histogram to depict only alpha-blended color values corresponding to pixels within the bounds of the viewable area.

11. The method of claim 9 , wherein said transforming is facilitated by lookup tables implemented directly in a shading programming language used by the GPU.

12. The method of claim 11 , wherein the shading programming language is OpenGL Shading Language (GLSL).

13. The method of claim 11 , wherein multiple lookup tables are stored in the GPU-resident memory, and wherein each lookup table of the multiple lookup tables facilitates a transformation between color spaces having different numbers of components.

14. The method of claim 9 , wherein said programming causes the alpha blending algorithm to be:

New Destination=1+Prior Destination.

15. The method of claim 9 , wherein the series of histogram bins include a two-dimensional (2D) set of bins or a three-dimensional (3D) set of bins.

16. The method of claim 9 , wherein the texture is a two-dimensional (2D) texture or a three-dimensional (3D) texture.

17. The method of claim 9 , further comprising:

enabling the individual to examine the 3D histogram by performing one or more actions,

wherein the one or more actions include panning, swiveling, tilting, zooming, or any combination thereof.

18. The method of claim 9 , wherein the 3D histogram uses spheres to render histogram bin contents by size and color.

19. The method of claim 18 , wherein each sphere is shaded with specular highlights and ambient lighting shadows for consistency.

20. A method comprising:

acquiring a first image in a first color space;

transforming the first color space to a printer-specific color space to produce a second image from the first image;

transforming the printer-specific color space to the first color space to produce a third image from the second image;

binning color values in the third image by

dividing the first color space into a series of bins that represent unique color values, and

establishing a count for each bin by counting occurrences of each unique color value in the third image; and

determining whether a printer configured to print in the printer-specific color space will experience a gamut limitation by comparing, for each unique color value, a number of occurrences in the first image to a number of occurrences in the third image,

wherein the gamut limitation is representative of a unique color value that is included in the first image but is not included in the third image.

21. The method of claim 20 , wherein the first color space is a Lab color space that is printer independent.

22. The method of claim 20 , further comprising:

creating a three-dimensional (3D) histogram that represents distribution of the color values in third image; and

causing display of the 3D histogram on an interface for review by an individual.

23. The method of claim 20 , wherein said binning further comprises:

quantizing the series of bins across the first color space into a smaller series of bins, such that similar color values are aggregated into a single bin.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Dec 9, 2024
From: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
To: FIERY, LLC
Reel/Frame 069546/0649 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 3, 2024
From: CERBERUS BUSINESS FINANCE AGENCY, LLC
To: ELECTRONICS FOR IMAGING, INC.; FIERY, LLC
Reel/Frame 069477/0479 →
SECURITY INTEREST Recorded Mar 12, 2024
From: ELECTRONICS FOR IMAGING, INC.; FIERY, LLC
To: CERBERUS BUSINESS FINANCE AGENCY, LLC
Reel/Frame 066794/0315 →
SECURITY INTEREST Recorded Mar 8, 2024
From: FIERY, LLC
To: ROYAL BANK OF CANADA
Reel/Frame 066697/0398 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2022
From: ELECTRONICS FOR IMAGING, INC.
To: FIERY, LLC
Reel/Frame 061132/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2021
From: WILLIAMS, LEON; OLSON, THOR
To: ELECTRONICS FOR IMAGING, INC.
Reel/Frame 057999/0262 →