# US 11,908,104 B2 · Weighted normalized automatic white balancing

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

- Number: US 11,908,104 B2
- Document ID: US11908104B2
- Status: Granted
- Kind: B2
- Application number: 17/903,290
- Filed: 2022-09-06
- Published: 2022-12-29
- Granted: 2024-02-20
- Earliest claimed: 2019-01-14
- Assignees: NVIDIA Corporation
- Applicants: NVIDIA Corporation
- Inventors: Hamidreza Mirzaei Domabi; Eric Dujardin; Animesh Khemka; Yining Deng
- Web page: https://patentgrep.com/patent/US11908104B2

## CPC

- G06T 5/90: Dynamic range modification of images or parts thereof
- B60R 11/04: Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
- G05B 13/027: {using neural networks only}
- G05D 1/0088: {characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours (using knowledge based models G06N5/00)}
- G05D 1/0248: {in combination with a laser (lasers per se H01S)}
- G05D 1/0251: {extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision (stereoscopic image analysis H04N13/00; depth recovery from images G06T7/593)}
- G05D 1/0253: {extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow (determining position or orientation from images G06T7/70)}
- G05D 1/228: Command input arrangements located on-board unmanned vehicles
- G05D 1/2437: {Extracting relative motion information}
- G05D 1/2465: {using a 3D model of the environment}
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 3/092: Reinforcement learning
- G06T 7/90: Determination of colour characteristics
- H04N 23/88: for colour balance, e.g. white-balance circuits or colour temperature control
- G06N 3/063: using electronic means
- G06T 2207/10024: Color image
- G06T 2207/10144: Varying exposure
- G06T 2207/20208: High dynamic range [HDR] image processing
- G06T 2207/30252: Vehicle exterior; Vicinity of vehicle
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- B60R: VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In order to more accurately white balance an image, weightings can be determined for pixels of an image when computing an illuminant color value of the image and/or a scene. The weightings can be based at least in part on the Signal-to-Noise Ratio (SNR) of the pixels. The SNR may be actual SNR or SNR estimated from brightness levels of the pixels. SNR weighting (e.g., SNR adjustment) may reduce the effect of pixels with high noise on the computed illuminant color value. For example, one or more channel values of the illuminant color value can be determined based on the weightings and color values of the pixels. One or more color gain values can be determined based on the one or more channel values of the illuminant color value and used to white balance the image.

## Claims

### Claim 1

A method comprising:
identifying one or more first values corresponding to one or more first pixels from one or more images as one or more outliers of the one or more images;
computing one or more color values for at least one illuminant of the one or more images using the one or more first values corresponding to the one or more first pixels and one or more second values corresponding to one or more second pixels of the one or more images, the one or more first values being weighted less than the one or more second values based at least on the one or more first values being identified as the one or more outliers; and
performing one or more image processing functions corresponding to the one or more images using the one or more color values.

### Claim 2 (depends on 1)

The method of claim 1, wherein the one or more first values corresponding to the first pixels include at least one of one or more signal-to-noise ratio (SNR) values, one or more brightness level values, or one or more color values.

### Claim 3 (depends on 1)

The method of claim 1, wherein the computing includes scaling the one or more images to one or more lower dynamic range images.

### Claim 4 (depends on 1)

The method of claim 1, wherein the computing includes a full weighting of the one or more second values corresponding to the one or more second pixels.

### Claim 5 (depends on 4)

The method of claim 4, wherein the one or more second values corresponding to the one or more second pixels are given the full weighting based at least on the one or more second values corresponding to the one or more second pixels being below a threshold value.

### Claim 6 (depends on 1)

The method of claim 1, wherein the identifying the one or more first values corresponding to the one or more first pixels is based at least on the one or more first values corresponding to the one or more first pixels being greater than a threshold value.

### Claim 7 (depends on 1)

The method of claim 1, wherein the performing the one or more image processing functions includes:
computing one or more color gain values for the one or more images based at least on the one or more color values; and
generating image data representative of at least one image using the one or more color gain values.

### Claim 8 (depends on 1)

The method of claim 1, controlling one or more operations of an autonomous vehicle using the one or more image processing functions.

### Claim 9

A processor comprising:
one or more circuits to perform one or more image processing functions corresponding to one or more images using one or more color values for at least one illuminant of the one or more images, the one or more color values determined based at least on:
selecting one or more pixels from the one or more images based at least on analyzing one or more values corresponding to the one or more pixels;
determining one or more weightings for the one or more pixels based at least on the one or more pixels being selected from the one or more images; and
computing the one or more color values for the at least one illuminant of the one or more images using the one or more weightings.

### Claim 10 (depends on 9)

The processor of claim 9, wherein the one or more pixels are identified based at least on determining the one or more values corresponding to the one or more pixels are one or more outliers for the one or more images.

### Claim 11 (depends on 9)

The processor of claim 9, wherein the one or more image processing functions scale the one or more images to one or more lower dynamic range images.

### Claim 12

A system comprising:
one or more processing units to perform operations including:
selecting one or more pixels from one or more images based at least on analyzing one or more values corresponding to the one or more pixels;
determining one or more weightings for the one or more pixels based at least on the one or more pixels being selected from the one or more images;
computing one or more color values for at least one illuminant of the one or more images using the one or more weightings; and
performing one or more image processing functions corresponding to the one or more images using the one or more color values.

### Claim 13 (depends on 12)

The system of claim 12, wherein the one or more values include at least one of one or more signal-to-noise ratio (SNR) values, one or more brightness level values, or one or more color values.

### Claim 14 (depends on 12)

The system of claim 12, wherein the selecting the one or more pixels is based at least on determining the one or more values are one or more outliers for the one or more images.

### Claim 15 (depends on 12)

The system of claim 12, wherein the one or more weightings are to scale the one or more images to one or more lower dynamic range images.

### Claim 16 (depends on 12)

The system of claim 12, wherein the one or more weightings are one or more partial weightings based at least on the one or more pixels being selected from the one or more images.

### Claim 17 (depends on 12)

The system of claim 12, wherein the one or more weightings are one or more full weightings based at least on the one or more pixels being selected from the one or more images.

### Claim 18 (depends on 12)

The system of claim 12, wherein the selecting the one or more pixels is based at least on the one or more values being greater than a threshold value.

### Claim 19 (depends on 18)

The system of claim 18, wherein the one or more pixels are one or more first pixels, and one or more second pixels from the one or more images are given full weighting in the computing the one or more color values based at least on one or more values of the one or more second pixels being below the threshold value.

### Claim 20 (depends on 12)

The system of claim 12, wherein the one or more color values are computed using a Minkowski norm adjusted using the one or more weightings.
