IP Library Granted Patent US 12,250,356
Granted Patent B2
US 12,250,356 · App. 17/550,088 · Granted Mar 11, 2025

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,250,356
App. No.
17/550,088
Granted
Mar 11, 2025
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 (58)

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

acquiring a first digital image in a first color space;

transforming the first color space into a second color space in which a printer is able to print, so as to produce a second digital image from the first digital image;

binning a range of color values included in the second digital image by

dividing the second color space into a series of bins that correspond to a series of color values, the series of color values including all color values across the second color space, and

establishing a count for each bin of the series of bins by counting occurrences of each color value of the series of color values in the second digital image; and

causing, based on the counts established for the series of bins, display of a visual representation that includes a three-dimensional (3D) histogram that visually represents the range of color values across the second digital image and allows for identification of color limitations of the printer.

2. The method of claim 1 , wherein the visual representation further includes the first digital image or the second digital image.

3. The method of claim 1 , further comprising:

receiving input indicative of an instruction to modify the second digital image in a manner that results in a modification to the range of color values; and

in response to said receiving,

altering the visual representation to visually show the modification to the range of color values.

4. The method of claim 1 , wherein the first color space is a standard RGB (SRGB) color space or an Adobe RGB color space.

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

6. The method of claim 1 , further comprising:

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

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

acquiring a first digital image in a first color space;

in response to said acquiring,

sampling the first digital image to produce a sub-sampled version of the first digital image; and

loading the sub-sampled version of the first digital image into a memory device of the processing system;

in response to a determination that the sub-sampled version of the first digital image has been loaded into the memory device of the processing system,

transforming the first color space into a second color space, so as to produce a second digital image from the sub-sampled version of the first digital image;

binning a range of color values included in the second digital image by

dividing the second color space into a series of bins that correspond to a series of color values, and

establishing a count for each bin of the series of bins by counting occurrences of each color value of the series of color values in the second digital image; and

causing display of a visual representation of the range of color values across the second digital image.

8. A processing system that, upon executing instructions stored in a non-transitory medium, is configured to perform operations comprising:

acquiring a first digital image in a first color space;

transforming the first color space into a second color space that is reproduceable by an output device, so as to produce a second digital image from the first digital image;

binning a range of color values included in the second digital image by

dividing the second color space into a series of bins that correspond to a series of color values, and

establishing a count for each bin of the series of bins by counting occurrences of each color value of the series of color values in the second digital image; and

causing display of (i) the second digital image and (ii) a three-dimensional (3D) histogram that visually represents the range of color values across the second digital image and allows for identification of colors, if any, that cannot be accurately represented by the output device, wherein the 3D histogram is dynamically altered to account for modifications of the second digital image.

9. The processing system of claim 8 , wherein the operations further comprise:

receiving input indicative of an instruction to modify the second digital image in a manner that results in a modification to the range of color values; and

in response to said receiving,

altering the 3D histogram to visually show the modification to the range of color values.

10. The processing system of claim 8 , wherein the operations further comprise:

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

11. A processing system that, upon executing instructions stored in a non-transitory medium, is configured to perform operations comprising:

acquiring a first digital image in a first color space;

in response to said acquiring,

sampling the first digital image to produce a sub-sampled version of the first digital image; and

loading the sub-sampled version of the first digital image into a memory device of the processing system;

in response to a determination that the sub-sampled version of the first digital image has been loaded into the memory device of the processing system,

transforming the first color space into a second color space, so as to produce a second digital image from the sub-sampled version of the first digital image;

binning a range of color values included in the second digital image by

dividing the second color space into a series of bins that correspond to a series of color values, and

establishing a count for each bin of the series of bins by counting occurrences of each color value of the series of color values in the second digital image; and

causing display of a visual representation of the range of color values across the second digital image.

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

transforming a first digital image in a first color space to a second color space that is reproduceable by an output device, so as to produce a second digital image in the second color space from the first digital image;

binning

(i) a first range of color values included in the first digital image into a first series of bins, each of which is associated with a different color value in the first color space, and

(ii) a second range of color values included in the second digital image into a second series of bins, each of which is associated with a different color value in the second color space; and

causing display of (i) a first interactive three-dimensional (3D) histogram that visually represents the first range of color values included in the first digital image and (ii) a second interactive 3D histogram that visually represents the second range of color values included in the second digital image, so as to allow for identification of colors, if any, that cannot be accurately represented by the output device.

13. The method of claim 12 , wherein the first interactive 3D histogram is responsive to modifications to the first digital image that result in a modification to the first range of color values, and wherein the second interactive 3D histogram is responsive to modifications to the second digital image that result in a modification to the second range of color values, such that modifications to the first and second digital images are visualizable in real time.

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 Oct 20, 2022
From: ELECTRONICS FOR IMAGING, INC.
To: FIERY, LLC
Reel/Frame 061733/0583 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2021
From: WILLIAMS, LEON; OLSON, THOR
To: ELECTRONICS FOR IMAGING, INC.
Reel/Frame 058382/0394 →
Continuity (5)
Continuation 16600962 · Oct 14, 2019
Continuation 15605770 · May 25, 2017
Provisional Application 62343065 · May 30, 2016
Provisional Application 62342857 · May 27, 2016
Related Publication 20220103719A1 · Mar 31, 2022
References Cited (30)
US 5517334A · Morag et al. · 1996 [cited by applicant]
US 7751620B1 · Cosoi · 2010 [cited by examiner]
US 8254671B1 · Roth · 2012 [cited by examiner]
US 10447896B2 · Williams et al. · 2019 [cited by applicant]
US 10946679B2 · Kiyama · 2021 [cited by examiner]
US 11212421B2 · Williams et al. · 2021 [cited by applicant]
US 20020063719A1 · Ziobro · 2002 [cited by examiner]
US 20020145744A1 · Kumada et al. · 2002 [cited by applicant]
US 20030185457A1 · Campbell · 2003 [cited by examiner]
US 20040036896A1 · Yamauchi et al. · 2004 [cited by applicant]
US 20040070626A1 · Matsumoto · 2004 [cited by applicant]
US 20070127814A1 · Fluck et al. · 2007 [cited by applicant]
US 20070247475A1 · Pettigrew et al. · 2007 [cited by applicant]
US 20090122325A1 · Farrell et al. · 2009 [cited by applicant]
US 20100094800A1 · Sharp et al. · 2010 [cited by applicant]
US 20110316851A1 · Pettigrew · 2011 [cited by examiner]
US 20120090488A1 · Postle et al. · 2012 [cited by applicant]
US 20120093399A1 · Paik · 2012 [cited by examiner]
US 20130019196A1 · Bhatt · 2013 [cited by applicant]
US 20130229414A1 · Gruber et al. · 2013 [cited by applicant]
US 20130301953A1 · Montague et al. · 2013 [cited by applicant]
US 20140028696A1 · Kulkarni · 2014 [cited by applicant]
US 20160034795A1 · Morovic · 2016 [cited by examiner]
US 20160247305A1 · Borg · 2016 [cited by examiner]
WO 9858493A1 · 1998 [cited by applicant]
Barthel, Kai Uwe, “3D Color Inspector/Color Histogram”, XP055652368, Retrieved from the Internet: URL:https://web.archive.org/web/20151230113417/https://imagej.nih.gov/ij/plugins/color-inspector.html [retrieved on Dec. … [cited by applicant]
Barthel, Kai Uwe, “Color Inspector 3D”, XP055652583, Retrieved from the Internet: URL:http://home.htw-berlin.de/-barthel/ImageJ/Colorinspector/help.htm [retrieved on Dec. 13, 2019] * the whole document, Sep. 19, 2005, 5… [cited by applicant]
Colantoni, Philippe , “ColorSpace—User manual Version 1.00”, XP055652620, Retrieved from the Internet: URL:http://docshare01.docshare.tips/files/14202/142023262.pdf [retrieved on Dec. 13, 2019], Dec. 31, 2004, pp. 4,6,7. [cited by applicant]
Deuerling-Zheng, Yu , et al., “Motion compensation in digital subtraction angiography using graphics hardware”, Computerized Medical Imaging and Graphics, Pergamon Press, NY, NY, US, vol. 30, No. 5, XP024903657, ISSN: 0… [cited by applicant]
Kubias, Alexander , et al., “Efficient computation of histograms on the GPU”, Computer Graphics, ACM, 2 Penn Plaza, Suite 701, NY, NY 10121-0701 USA, XP058229879, DOI: 10.1145/2614348.2614377, ISBN: 978-1-60558-956-5, A… [cited by applicant]