IP Library Granted Patent US 9,430,848
Granted Patent B1
US 9,430,848 · App. 14/475,196 · Granted Aug 30, 2016

Monochromatic image determination

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 9,430,848
App. No.
14/475,196
Granted
Aug 30, 2016
Kind
B1
Abstract

Systems, methods and computer readable media for determination of monochromatic images are described. Some implementations can include a method. The method can include converting an image in a first colorspace to a first converted image in a second colorspace. The method can also include generating a hue histogram based on hue values in the converted image and determining a hue dispersion measure based on the hue histogram and a number of pixels in the image. The method can further include determining a hue clustering value based on the hue histogram and converting the image in the first colorspace into a second converted image in a third colorspace. The method can also include determining a variance measure based on the second converted image, and comparing the hue dispersion measure, the hue clustering value and the variance measure to a first threshold value, a second threshold value and a third threshold value, respectively.

Claims (80)

1. A method comprising:

converting an image in a first colorspace to a first converted image in a second colorspace;

generating a hue histogram based on hue values in the converted image;

determining a hue dispersion measure based on the hue histogram and a number of pixels in the image;

determining a hue clustering value based on the hue histogram;

converting the image in the first colorspace into a second converted image in a third colorspace;

determining a variance measure based on the second converted image;

comparing the hue dispersion measure, the hue clustering value and the variance measure to a first threshold value, a second threshold value and a third threshold value, respectively; and

providing an indication of whether the image is monochromatic based on one or more of the comparisons,

wherein determining the hue dispersion measure includes:

projecting hue values onto a unit circle, wherein any pixel missing from the histogram is assigned to point (0,0);

computing a center of gravity for plotted pixels;

iterating over plotted pixels on the unit circle and computing an intermediate value according to (hx−x)^8+(hy−y)^8 for each plotted pixel;

summing the intermediate values; and

normalizing the sum of intermediate values, wherein the normalized result is the hue dispersion measure.

2. The method of claim 1 , wherein the second colorspace is an HSV colorspace.

3. The method of claim 1 , wherein the third colorspace is a YCbCr colorspace.

4. The method of claim 3 , wherein determining the variance measure includes:

building histograms of Cb and Cr values for each Y value;

summing corresponding variances per Y value; and

multiplying image Cb and Cr variances, wherein the result of multiplication is the CbCr variance measure.

5. The method of claim 1 , wherein determining the hue clustering value includes:

discarding hue histogram values within about 30 degrees from the largest hue histogram value;

storing the largest hue histogram value as h, and a degree corresponding to the largest hue histogram value as m;

when a next largest hue histogram value is larger or equal to alpha*h, processing the next largest histogram value that has not been discarded and increasing the hue clustering value of the image the degree distance between m and a degree d of the next largest hue histogram value on a circle; and

iterating the processing until a next largest hue histogram value is reached that is not greater than or equal to alpha*h.

6. The method of claim 1 , wherein the image is a video frame and the method further includes determining whether a plurality of images corresponding to a selected number of frames are monochromatic and merging results of the selected number of frames together to generate an indication of whether the video is monochromatic.

7. A system comprising one or more computers configured to perform operations including:

converting an image in a first colorspace to a first converted image in a second colorspace;

generating a hue histogram based on hue values in the converted image;

determining a hue dispersion measure based on the hue histogram and a number of pixels in the image;

determining a hue clustering value based on the hue histogram;

converting the image in the first colorspace into a second converted image in a third colorspace;

determining a variance measure based on the second converted image;

comparing the hue dispersion measure, the hue clustering value and the variance measure to a first threshold value, a second threshold value and a third threshold value, respectively; and

providing an indication of whether the image is monochromatic based on one or more of the comparisons,

wherein determining the hue clustering value includes:

discarding hue histogram values within about 30 degrees from the largest hue histogram value;

storing the largest hue histogram value as h, and a degree corresponding to the largest hue histogram value as m;

when a next largest hue histogram value is larger or equal to alpha*h, processing the next largest histogram value that has not been discarded and increasing the hue clustering value of the image the degree distance between m and a degree d of the next largest hue histogram value on a circle; and

iterating the processing until a next largest hue histogram value is reached that is not greater than or equal to alpha*h.

8. The system of claim 7 , wherein the second colorspace is an HSV colorspace.

9. The system of claim 7 , wherein the third colorspace is a YCbCr colorspace.

10. The system of claim 9 , wherein determining the variance measure includes:

building histograms of Cb and Cr values for each Y value;

summing corresponding variances per Y value; and

multiplying image Cb and Cr variances, wherein the result of multiplication is the CbCr variance measure.

11. The system of claim 7 , wherein determining the hue dispersion measure includes:

projecting hue values onto a unit circle, wherein any pixel missing from the histogram is assigned to point (0,0);

computing a center of gravity for each plotted point;

iterating over plotted pixels on the unit circle and computing an intermediate value according to (hx−x)^8+(hy−y)^8 for each plotted pixel;

summing the intermediate values; and

normalizing the sum of intermediate values, wherein the normalized result is the hue dispersion measure.

12. The system of claim 7 , wherein the image is a video frame and the method further includes determining whether a plurality of images corresponding to a selected number of frames are monochromatic and merging results of the selected number of frames together to generate an indication of whether the video is monochromatic.

13. A nontransitory computer readable medium having stored thereon software instructions that, when executed by a processor, cause the processor to perform operations including:

converting an image in a first colorspace to a first converted image in a second colorspace;

generating a hue histogram based on hue values in the converted image;

determining a hue dispersion measure based on the hue histogram and a number of pixels in the image;

determining a hue clustering value based on the hue histogram;

converting the image in the first colorspace into a second converted image in a third colorspace;

determining a variance measure based on the second converted image;

comparing the hue dispersion measure, the hue clustering value and the variance measure to a first threshold value, a second threshold value and a third threshold value, respectively; and

providing an indication of whether the image is monochromatic based on one or more of the comparisons,

wherein the third color space is a YCbCr color space, and

wherein determining the variance measure includes:

building histograms of Cb and Cr values for each Y value;

summing corresponding variances per Y value; and

multiplying image Cb and Cr variances, wherein the result of multiplication is the CbCr variance measure.

14. The nontransitory computer readable medium of claim 13 , wherein the second colorspace is an HSV colorspace.

15. The nontransitory computer readable medium of claim 13 , wherein determining the hue dispersion measure includes:

projecting hue values onto a unit circle, wherein any pixel missing from the histogram is assigned to point (0,0);

computing a center of gravity for each plotted point;

iterating over plotted pixels on the unit circle and computing an intermediate value according to (hx−x)^8+(hy−y)^8 for each plotted pixel;

summing the intermediate values; and

normalizing the sum of intermediate values, wherein the normalized result is the hue dispersion measure.

16. The nontransitory computer readable medium of claim 13 , wherein determining the hue clustering value includes:

discarding hue histogram values within about 30 degrees from the largest hue histogram value;

storing the largest hue histogram value as h, and a degree corresponding to the largest hue histogram value as m;

when a next largest hue histogram value is larger or equal to alpha*h, processing the next largest histogram value that has not been discarded and increasing the hue clustering value of the image the degree distance between m and a degree d of the next largest hue histogram value on a circle; and

iterating the processing until a next largest hue histogram value is reached that is not greater than or equal to alpha*h.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: KULEWSKI, KRZYSZTOF; KRISHNASWAMY, ARAVIND; BABACAN, SEVKET DERIN
To: GOOGLE INC.
Reel/Frame 033663/0867 →