IP Library Granted Patent US 11,847,737
Granted Patent B2
US 11,847,737 · App. 17/226,820 · Granted Dec 19, 2023

Temporal denoiser quality in dynamic scenes

Inventor: Pawel Kozlowski (Truckee, CA)
Assignee: NVIDIA CORPORATION
G06T15/80G06T1/20G06T5/002G06T5/50G06T15/005
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 11,847,737
App. No.
17/226,820
Granted
Dec 19, 2023
Kind
B2
Abstract

Apparatuses, systems, and techniques are presented to reduce temporal lag when a dynamic event is occurring in computer generated video. In one embodiment, a first averaging algorithm is utilized to determine a display value for a pixel based at least in part on previous pixel values. Once a dynamic event is detected, a set of the previous pixel values is averaged using a second averaging algorithm. The pixel value is updated based on the first averaging of the pixel values and the second averaging of the pixel values to determine a current pixel value.

Claims (41)

1. A method, comprising:

determining a first display value for a pixel location in a first frame of a computer simulated video, the first display value determined based at least in part upon a first pixel value for the pixel location and a plurality of previous pixel values for the pixel location;

receiving pixel information for a second frame of the computer simulated video, subsequent to the first frame, wherein the pixel information includes a second pixel value for the pixel location in the second frame;

determining, based at least in part on the pixel information, a temporal lag between the first frame and the second frame; and

determining a second display value for the pixel location in the second frame, based at least in part upon a subset of the plurality of previous pixel values corresponding to the temporal lag.

2. The method of claim 1 , wherein the first display value is determined by averaging a previous pixel values from a fixed number of most recent frames.

3. The method of claim 2 , wherein the fixed number is four frames.

4. The method of claim 1 , wherein the at least one of the first or second display values is determined by computing a simple moving average.

5. The method of claim 1 , wherein at least one of the first or second display values is determined by computing an exponential moving average.

6. The method of claim 1 , further comprising:

receiving supplemental pixel information for a third frame of the video subsequent to the second frame of video, the supplemental pixel information including a third value for the pixel location;

determining that temporal lag between the second frame and the third frame is below a threshold based on the supplemental pixel information; and

determining a third display value for the pixel location in the third frame based on a third average of the third value for the pixel location and at least a portion of the plurality of previous pixel values for the pixel location.

7. The method of claim 1 , wherein the second display value is further determined based on the first display value and the second pixel value.

8. The method of claim 1 , further comprising:

causing the second frame to be displayed with the pixel having the second display value.

9. The method of claim 1 , wherein the temporal lag is based on detecting a dynamic event in one or more frames of the video.

10. The method of claim 9 , wherein the dynamic event is partial occlusion of one or more of the plurality of pixels by a shadow.

11. A system, comprising:

one or more processors; and

memory including instructions that, if performed by one or more processors, cause the system to at least:

determine a first display value for a pixel location in a first frame of a computer simulated video, the first display value based at least in part upon a first pixel value for the pixel location and a plurality of previous pixel values for the pixel location;

receive pixel information for a second frame of the computer simulated video, the second frame subsequent to the first frame, wherein the pixel information includes a second pixel value for the pixel location in the second frame;

determine, based at least in part on the pixel information, a temporal lag between the first frame and the second frame; and

determine a second display value for the pixel location in the second frame, the second display value based at least in part upon a subset of the plurality of previous pixel values corresponding to the temporal lag.

12. The system of claim 11 , wherein at least one of the first or second display values is determined by computing an exponential moving average.

13. The system of claim 12 , wherein at least one of the first or second display values is determined by computing a simple moving average.

14. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor of a computing device, cause the computing device to:

determine a first display value for a pixel location in a first frame of a computer simulated video, the first display value determined based at least in part upon a first pixel value for the pixel location and a plurality of previous pixel values for the pixel location;

receive pixel information for a second frame of the computer simulated video, subsequent to the first frame, wherein the pixel information includes a second pixel value for the pixel location in the second frame;

determine, based at least in part on the pixel information, a temporal lag between the first frame and the second frame; and

determine a second display value for the pixel location in the second frame, based at least in part upon a subset of the plurality of previous pixel values corresponding to the temporal lag.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the first display value is determined by averaging a previous pixel values from a fixed number of most recent frames.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the fixed number is four frames.

17. The non-transitory computer-readable storage medium of claim 14 , wherein the second display value is further determined based on the first display value and the second pixel value.

18. The non-transitory computer-readable storage medium of claim 14 , wherein at least one of the first or second display values is determined by computing a simple moving average.

19. The non-transitory computer-readable storage medium of claim 14 , wherein at least one of the first or second display values is determined by computing an exponential moving average.

20. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions when executed further cause the computing device to:

receive supplemental pixel information for a third frame of the video subsequent to the second frame of video, the supplemental pixel information including a third value for the pixel location;

determine that temporal lag between the second frame and the third frame is below a threshold based on the supplemental pixel information; and

determine a third display value for the pixel location in the third frame based on a third average of the third value for the pixel location and at least a portion of the plurality of previous pixel values for the pixel location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2021
From: KOZLOWSKI, PAWEL
To: NVIDIA CORPORATION
Reel/Frame 055880/0680 →
Continuity (1)
Related Publication 20220327771A1 · Oct 13, 2022