# US 11,308,626 B2 · System, method, and computer program for adjusting image contrast using parameterized cumulative distribution functions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,626 B2
- Document ID: US11308626B2
- Status: Granted
- Kind: B2
- Application number: 16/552,649
- Filed: 2019-08-27
- Published: 2019-12-19
- Granted: 2022-04-19
- Earliest claimed: 2017-12-20
- Assignees: Duelight LLC
- Applicants: Duelight LLC
- Inventors: William Guie Rivard; Brian J. Kindle; Adam Barry Feder
- Web page: https://patentgrep.com/patent/US11308626B2

## CPC

- G06T 7/143: involving probabilistic approaches, e.g. Markov random field [MRF] modelling
- G06F 17/18: for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)}
- G06T 3/4007: based on interpolation, e.g. bilinear interpolation (image demosaicing G06T3/4015; edge-driven or edge-based scaling G06T3/403)
- G06T 5/40: using histogram techniques
- G06T 5/94: based on local image properties, e.g. for local contrast enhancement
- G06T 7/11: Region-based segmentation
- G06T 2207/20021: Dividing image into blocks, subimages or windows
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method are provided for optimizing histogram cumulative distribution function curves. In use, a first cumulative distribution function for a first histogram of a first pixel region of a first image is computed, and a first set of parameters for the first cumulative distribution function is extracted. A second cumulative distribution function for a second histogram of a second pixel region of the first image is computed, and a second set of parameters for the second cumulative distribution function is extracted. An interpolated cumulative distribution function comprising interpolated parameters calculated by interpolating between the first set of parameters and the second set of parameters is created. Additionally, a first equalized pixel in a second image based on a first input pixel in the first image and the interpolated cumulative distribution function is generated.

## Claims

### Claim 1

A device, comprising:
a non-transitory memory storing instructions; and
one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to:
compute a first cumulative distribution function for a first histogram of a first pixel region of a first image;
extract a first set of parameters for the first cumulative distribution function;
compute a second cumulative distribution function for a second histogram of a second pixel region of the first image;
extract a second set of parameters for the second cumulative distribution function;
create an interpolated cumulative distribution function comprising interpolated parameters calculated by interpolating between the first set of parameters and the second set of parameters; and
generate a first equalized pixel in a second image based on a first input pixel in the first image and the interpolated cumulative distribution function;
wherein the first set of parameters and the second set of parameters each comprise control points;
wherein the first set of parameters and the second set of parameters further comprise an angle for each control point of the control points.

### Claim 2 (depends on 1)

The device of claim 1, wherein the interpolated cumulative distribution function comprises a Bezier curve comprising interpolated control points and interpolated angles.

### Claim 3 (depends on 1)

The device of claim 1, wherein the interpolated cumulative distribution function comprises a spline curve comprising interpolated control points.

### Claim 4 (depends on 1)

The device of claim 1, wherein the interpolated parameters for the interpolated cumulative distribution function are weighted according to a position of the first input pixel.

### Claim 5 (depends on 4)

The device of claim 4, wherein the weighted interpolated parameters are applied horizontally.

### Claim 6 (depends on 4)

The device of claim 4, wherein the weighted interpolated parameters are applied vertically.

### Claim 7 (depends on 1)

The device of claim 1, wherein during a first processing pass on the first image, the one or more processors execute the instructions to generate and store parameters, including the first and second sets of parameters, for at least the first pixel region of the first image and the second pixel region of the first image.

### Claim 8 (depends on 7)

The device of claim 7, wherein the parameters are stored in a texture map.

### Claim 9 (depends on 1)

The device of claim 1, wherein the interpolating comprises bicubic interpolation.

### Claim 10 (depends on 1)

The device of claim 1, wherein the device is operable such that a first portion of pixel regions of the first image is selected based on a pixel of interest.

### Claim 11 (depends on 10)

The device of claim 10, wherein the device is operable such that the pixel of interest is associated with an identified object.

### Claim 12 (depends on 11)

The device of claim 11, wherein the device is operable such that a priority associated with the identified object is predetermined.

### Claim 13

A method, comprising:
computing, using a processor, a first cumulative distribution function for a first histogram of a first pixel region of a first image;
extracting, using the processor, a first set of parameters for the first cumulative distribution function;
computing, using the processor, a second cumulative distribution function for a second histogram of a second pixel region of the first image;
extracting, using the processor, a second set of parameters for the second cumulative distribution function;
creating, using the processor, an interpolated cumulative distribution function comprising interpolated parameters calculated by interpolating between the first set of parameters and the second set of parameters; and
generating, using the processor, a first equalized pixel in a second image based on a first input pixel in the first image and the interpolated cumulative distribution function;
wherein the first set of parameters and the second set of parameters each comprise control points;
wherein the first set of parameters and the second set of parameters further comprise an angle for each control point of the control points.

### Claim 14

A computer program product comprising computer executable instructions stored on a non-transitory computer readable medium that when executed by a processor instruct the processor to:
compute a first cumulative distribution function for a first histogram of a first pixel region of a first image;
extract a first set of parameters for the first cumulative distribution function;
compute a second cumulative distribution function for a second histogram of a second pixel region of the first image;
extract a second set of parameters for the second cumulative distribution function;
create an interpolated cumulative distribution function comprising interpolated parameters calculated by interpolating between the first set of parameters and the second set of parameters; and
generate a first equalized pixel in a second image based on a first input pixel in the first image and the interpolated cumulative distribution function;
wherein the first set of parameters and the second set of parameters each comprise control points;
wherein the first set of parameters and the second set of parameters further comprise an angle for each control point of the control points.

### Claim 15

A device, comprising:
a non-transitory memory storing instructions; and
one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to:
compute a first cumulative distribution function for a first histogram of a first pixel region of a first image;
extract a first set of parameters for the first cumulative distribution function;
compute a second cumulative distribution function for a second histogram of a second pixel region of the first image;
extract a second set of parameters for the second cumulative distribution function;
create an interpolated cumulative distribution function comprising interpolated parameters calculated by interpolating between the first set of parameters and the second set of parameters; and
generate a first equalized pixel in a second image based on a first input pixel in the first image and the interpolated cumulative distribution function;
wherein the interpolated cumulative distribution function comprises a Bezier curve comprising interpolated control points and interpolated angles.
