IP Library Granted Patent US 12,088,772
Granted Patent B2
US 12,088,772 · App. 18/185,257 · Granted Sep 10, 2024

Interactive three-dimensional (3D) color histograms

Inventors: Leon Williams (Walworth, NY); Thor Olson (Eagan, MN)
Assignee: FIERY, LLC
H04N1/60G06T7/90G06T15/04G06T15/50G06T15/503G06V10/56G06V10/758H04N1/00023H04N1/00047H04N1/6011H04N1/6061H04N1/6066G06T2200/24G06T2207/10024G06T2207/20021G06T2207/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 12,088,772
App. No.
18/185,257
Granted
Sep 10, 2024
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 (45)

1. A method performed by a processing system, the method comprising:

loading a digital image into a memory device that is internal to the processing system;

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

for each pixel included in the digital image,

transforming a corresponding color value into a coordinate that corresponds to one of a series of bins, and

applying the alpha blending algorithm to the corresponding color value; and

causing display of a visual representation of alpha-blended color values to visually show distribution of colors in the digital image.

2. The method of claim 1 , wherein the visual representation includes the digital image and a three-dimensional (3D) histogram based on counts established for the series of bins.

3. The method of claim 2 , further comprising:

receiving input indicative of a modification of a viewable area of the digital image; and

in response to said receiving,

altering the visual representation so that only alpha-blended color values corresponding to pixels within bounds of the viewable area are included in the 3D histogram.

4. The method of claim 2 , further comprising:

enabling a user to interact with the 3D histogram by permitting one or more actions.

5. The method of claim 4 , wherein the one or more actions include panning, swiveling, tilting, zooming, or any combination thereof.

6. The method of claim 1 , wherein said transforming is accomplished using a lookup table that is programmed in the memory device of the processing system and implemented in a programming language used by the memory device.

7. The method of claim 6 , wherein the lookup table is one of multiple lookup tables that are programmed in the memory device, and wherein each lookup table of the multiple lookup tables is able to facilitate transformation between a pair of color spaces.

8. The method of claim 1 , wherein the memory device is a graphics processing unit (GPU) to which textures are available, and wherein the method further comprises:

allocating one of the textures to the series of bins to facilitate transformation.

9. The method of claim 8 , wherein the texture is a three-dimensional (3D) texture.

10. A method for visually representing distribution of colors in a digital image using a three-dimensional (3D) histogram, the method comprising:

programming an alpha blending algorithm that mimics an increment functionality by computing a weighted average of pairs of color values, with each weight set to a value of one;

for each pixel in the digital image,

transforming a corresponding color value into a coordinate for one of a series of bins, and

applying the alpha blending algorithm to the corresponding color value, so as to create an alpha-blended color value; and

causing display of the 3D histogram that represents the alpha-blended color values of the pixels in the digital image.

11. The method of claim 10 , wherein said programming, said transforming, said applying, and said causing are performed by a graphics processing unit (GPU).

12. The method of claim 11 , wherein said transforming is accomplished using a lookup table that is implemented directly in a shading programming language that is used by the GPU.

13. The method of claim 12 , wherein the shading programming language is OpenGL Shading Language.

14. The method of claim 10 , further comprising:

causing display of the digital image on a same interface as the 3D histogram.

15. The method of claim 14 , wherein bounds of the digital image are modifiable through the interface.

16. The method of claim 15 , further comprising:

in response to a determination that the bounds of the digital image have been modified,

altering the 3D histogram so that only alpha-blended color values corresponding to pixels within the bounds of the digital image are included.

17. The method of claim 16 , further comprising:

receiving input that is indicative of a modification of the bounds, achieved via alteration of a coordinate of at least one corner of the digital image through the interface.

18. A non-transitory medium with instructions stored thereon that, when executed by a processing system, cause the processing system to perform operations comprising:

loading a digital image into a memory device that is internal to the processing system;

for each pixel in the digital image,

transforming a corresponding color value into a coordinate for one of a series of bins, each of which corresponds to a different color value, and

applying a blending algorithm to the corresponding color value, so as to produce a blended color value,

wherein coefficients of the blending algorithm are set to one, such that the blending algorithm mimics an increment functionality of a histogram; and

causing display of a visual representation of the blended color values.

19. The non-transitory medium of claim 18 , wherein the processing system is a graphics processing unit (GPU).

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2024
From: ELECTRONICS FOR IMAGING, INC.
To: FIERY, LLC
Reel/Frame 067471/0649 →
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: ELECTRONICS FOR IMAGING, INC.
To: ROYAL BANK OF CANADA
Reel/Frame 066771/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: WILLIAMS, LEON; OLSON, THOR
To: ELECTRONICS FOR IMAGING, INC.
Reel/Frame 063007/0376 →
Continuity (6)
Division 17550088 · Dec 14, 2021
Continuation 16600962 · Oct 14, 2019
Continuation 15605770 · May 25, 2017
Provisional Application 62343065 · May 30, 2016
Provisional Application 62342857 · May 27, 2016
Related Publication 20230370561A1 · Nov 16, 2023