# US 2014/0192267 A1 · Method and apparatus of reducing random noise in digital video streams

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

- Number: US 2014/0192267 A1
- Document ID: US20140192267A1
- Status: Published application
- Kind: A1
- Application number: 13/734,595
- Filed: 2013-01-04
- Published: 2014-07-10
- Earliest claimed: 2013-01-04
- Assignees: QUALCOMM Incorporated
- Applicants: Qualcomm Incorporated
- Inventors: Mainak Biswas; Vasudev Bhaskaran; Sujith Srinivasan; Shilpi Sahu
- Web page: https://patentgrep.com/patent/US20140192267A1

## CPC

- H04N 5/144: {Movement detection (for video coding H04N19/503; analysis of motion in general G06T7/20)}
- G06T 5/20: using local operators
- G06T 5/50: using two or more images, e.g. averaging or subtraction
- G06T 5/70: Denoising; Smoothing
- G06T 7/254: involving subtraction of images
- G06T 2207/10016: Video; Image sequence
- G06T 2207/10024: Color image
- G06T 2207/20012: Locally adaptive
- G06T 2207/20182: Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
- G06T 2207/20192: Edge enhancement; Edge preservation
- G06T 2207/20221: Image fusion; Image merging
- G06T 2207/20224: Image subtraction
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Method and apparatus for reducing random noise in digital video streams are described. In one innovative aspect, the device includes a noise estimator. The device also includes a motion detector configured to determine a motion value indicative of motion between two frames of the video stream, the motion value based at least in part on the noise value. The device further includes a spatial noise reducer configured to filter the image data based at least in part on a blending factor and the noise value. The device also includes a temporal noise reducer configured to filter the video data based on the motion value and the noise value. The device also includes a blender configured to blend the spatial and temporal filtered values to provide a weighted composite filtered output image.

## Claims

### Claim 1

A device for reducing noise of a digital video stream comprising:
a noise estimator configured to determine a noise value indicative of noise for a frame of the video stream;
a motion detector configured to determine a motion value indicative of motion between two frames of the video stream, the motion value based at least in part on the noise value;
a spatial noise reducer configured to identify at least one pixel value in the frame as an edge and modify the identified pixel value based at least in part on a blending factor and the noise value;
a temporal noise reducer configured to modify at least one pixel value in the frame based at least in part on a value for a pixel in a prior frame and the noise value; and
a blender configured to generate a composite pixel value based at least in part on the spatially modified pixel value, the temporally modified pixel value, and the motion value.

### Claim 2 (depends on 1)

The device of claim 1, wherein determining the noise value comprises:
identifying edge pixels included in a portion of the frame of video data based on pixel values for each pixel in the portion of the video frame;
convoluting pixels included in the portion of the frame of video identified as non-edge pixels; and
generating the noise value based on the convolved pixel values.

### Claim 3 (depends on 2)

The device of claim 2, wherein convoluting pixels comprises Laplacian convolution.

### Claim 4 (depends on 2)

The device of claim 2, wherein generating the noise value is based on an average convolved value for the current portion and a number of non-edge pixels identified in the portion of the frame.

### Claim 5 (depends on 1)

The device of claim 1, wherein determining the motion value comprises:
generating a sum of absolute differences between two frames of the video stream, the two frames comprising a current frame of the video stream and the prior frame of the video stream;
generating a maximum sum of absolute differences for the video stream; and
determining the motion value for the current frame based on the sum of absolute differences between the two frames and the maximum sum of absolute differences for the video stream.

### Claim 6 (depends on 5)

The device of claim 5, wherein determining the current frame of the video stream is not yet noise reduced and the prior frame of the video stream is noise reduced.

### Claim 7 (depends on 1)

The device of claim 1, wherein the pixel value generated by the temporal noise reducer includes a number of bits which is larger than a number of bits for the pixel before temporal noise reduction.

### Claim 8 (depends on 8)

The device of claim 8, wherein the generated pixel value includes eleven bits, wherein eight of the eleven bits indicate an integer portion of the pixel value and three of the eleven bits indicate a fractional portion of the pixel value.

### Claim 9 (depends on 1)

The device of claim 1, further comprising:
a feature detector configured to identify a feature included in the video stream;
a feature blender configured to generate another composite pixel value based at least in part on the identified feature and the composite pixel value.

### Claim 10 (depends on 9)

The device of claim 9, wherein the feature includes skin tone pixels.

### Claim 11

A method for reducing noise of a digital video stream comprising:
determining a noise value indicative of noise for a frame of the video stream;
determining a motion value indicative of motion between two frames of the video stream, the motion value based at least in part on the noise value;
identifying at least one pixel value in the frame as an edge;
modifying the identified pixel value based at least in part on a blending factor and the noise value;
modifying at least one pixel value in the frame based at least in part on a value for a pixel in a prior frame and the noise value; and
generating a composite pixel value based at least in part on the spatially modified pixel value, the temporally modified pixel value, and the motion value.

### Claim 12 (depends on 11)

The method of claim 11, wherein determining the noise value comprises:
identifying edge pixels included in a portion of the frame of video data based on pixel values for each pixel in the portion of the video frame;
convoluting pixels included in the portion of the frame of video identified as non-edge pixels; and
generating the noise value based on the convolved pixel values.

### Claim 13 (depends on 12)

The method of claim 12, wherein convoluting pixels comprises Laplacian convolution.

### Claim 14 (depends on 12)

The method of claim 12, wherein generating the noise value is based on an average convolved value for the current portion and a number of non-edge pixels identified in the portion of the frame.

### Claim 15 (depends on 11)

The method of claim 11, wherein determining the motion value comprises:
generating a sum of absolute differences between two frames of the video stream, the two frames comprising a current frame of the video stream and the prior frame of the video stream;
generating a maximum sum of absolute differences for the video stream; and
determining the motion value for the current frame based on the sum of absolute differences between the two frames and the maximum sum of absolute differences for the video stream.

### Claim 16 (depends on 15)

The method of claim 15, wherein determining the current frame of the video stream is not yet noise reduced and the prior frame of the video stream is noise reduced.

### Claim 17 (depends on 16)

The method of claim 16, wherein the pixel value generated by the temporal noise reducer includes a number of bits which is larger than a number of bits for the pixel before temporal noise reduction.

### Claim 18 (depends on 17)

The method of claim 17, wherein the generated pixel value includes eleven bits, wherein eight of the eleven bits indicate an integer portion of the pixel value and three of the eleven bits indicate a fractional portion of the pixel value.

### Claim 19 (depends on 11)

The method of claim 11, further comprising:
identifying a feature included in the video stream;
generating another composite pixel value based at least in part on the identified feature and the composite pixel value.

### Claim 20 (depends on 19)

The method of claim 19, wherein the feature includes skin tone pixels.

### Claim 21

A device for reducing noise of a digital video stream comprising:
means for determining a noise value indicative of noise for a frame of the video stream;
means for determining a motion value indicative of motion between two frames of the video stream, the motion value based at least in part on the noise value;
means for identifying at least one pixel value in the frame as an edge and for modifying the identified pixel value based at least in part on a blending factor and the noise value;
means for modifying at least one pixel value in the frame based at least in part on a value for a pixel in a prior frame and the noise value; and
means for generating a composite pixel value based at least in part on the spatially modified pixel value, the temporally modified pixel value, and the motion value.

### Claim 22

A computer-readable storage medium comprising instructions executable by a processor of an apparatus for reducing noise in a digital video stream, the instructions causing the apparatus to:
determine a noise value indicative of noise for a frame of the video stream;
determine a motion value indicative of motion between two frames of the video stream, the motion value based at least in part on the noise value;
identify at least one pixel value in the frame as an edge and modify the identified pixel value based at least in part on a blending factor and the noise value;
modify at least one pixel value in the frame based at least in part on a value for a pixel in a prior frame and the noise value; and
generate a composite pixel value based at least in part on the spatially modified pixel value, the temporally modified pixel value, and the motion value.

### Claim 23

A device for reducing noise of a digital video stream comprising:
a processor configured to:
determine a noise value indicative of noise for a frame of the video stream;
determine a motion value indicative of motion between two frames of the video stream, the motion value based at least in part on the noise value;
identify at least one pixel value in the frame as an edge and modify the identified pixel value based at least in part on a blending factor and the noise value;
modify at least one pixel value in the frame based at least in part on a value for a pixel in a prior frame and the noise value; and
generate a composite pixel value based at least in part on the spatially modified pixel value, the temporally modified pixel value, and the motion value.
