IP Library › Granted Patent US 12,367,637
Granted Patent B2
US 12,367,637 · App. 17/006,548 · Granted Jul 22, 2025

System and method for image generation using jittered motion vectors

Inventors: Pawel Kozlowski (Campbell, CA); Maksim Aizenshtein (Sammamish, WA)
Assignee: NVIDIA CORPORATION
G06T15/503G06N20/20G06T7/215G06T15/80
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 12,367,637
App. No.
17/006,548
Granted
Jul 22, 2025
Kind
B2
Abstract

Systems and methods for improving quality of rendered images. Temporal accumulation using jittered motion vectors may be performed in intermediate passes.

Claims (32)

1. A processor comprising:

one or more circuits to cause jitter to be applied to one or more motion vectors during at least one but less than all rendering passes of an image.

2. The processor of claim 1 , wherein the motion vectors are motion vectors of one or more intermediate image rendering passes.

3. The processor of claim 2 , wherein the intermediate image rendering passes comprise one or more of a shadow pass, an occlusion pass, a reflection pass, or a specular pass.

4. The processor of claim 1 , further comprising:

one or more memories to store jitter values to be applied to the motion vectors.

5. The processor of claim 4 , wherein the one or more circuits is further to retrieve the jitter values from a buffer, and to apply the jitter values to the one or more motion vectors during the rendering.

6. The processor of claim 1 , wherein the one or more processors is further to determine at least one image value of a current image frame at least in part from an interpolation of image values of one or more previous image frames, the interpolation being performed according to the one or more motion vectors having the jitter values applied thereto.

7. The processor of claim 6 , wherein the interpolation is a Catmull-Rom interpolation.

8. The processor of claim 1 , wherein the jitter modifies at least one of magnitude or direction of the one or more motion vectors to reduce a plurality of jagged edges of a current image frame.

9. The processor of claim 1 , wherein the one or more motion vectors is based, at least in part, on motion of one or more objects from one or more previous image frames to a current image frame.

10. A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least:

cause jitter to be applied to one or more motion vectors during at least one but less than all rendering passes of an image.

11. The non-transitory machine-readable medium of claim 10 , wherein the motion vectors are motion vectors of one or more intermediate image rendering passes.

12. The non-transitory machine-readable medium of claim 11 , wherein the intermediate image rendering passes comprise one or more of a shadow pass, an occlusion pass, a reflection pass, or a specular pass.

13. The non-transitory machine-readable medium of claim 10 , wherein the instructions, if performed by one or more processors, further cause the one or more processors to:

store jitter values to be applied to the motion vectors.

14. The non-transitory machine-readable medium of claim 13 , wherein the instructions, if performed by one or more processors, further cause the one or more processors to:

retrieve the jitter values from a buffer; and

apply the jitter values to the one or more motion vectors during the rendering.

15. The non-transitory machine-readable medium of claim 10 , wherein the instructions, if performed by one or more processors, further cause the one or more processors to:

determine at least one image value of a current image frame at least in part from an interpolation of image values of one or more previous image frames, the interpolation being performed according to the one or more motion vectors having the jitter values applied thereto.

16. The non-transitory machine-readable medium of claim 15 , wherein the interpolation is a Catmull-Rom interpolation.

17. A display system comprising:

One or more processors to generate an image for display on a display device, at least in part by causing jitter to be applied to one or more motion vectors during at least one but less than all rendering passes of the image.

18. The system of claim 17 , wherein the motion vectors are motion vectors of one or more intermediate image rendering passes.

19. The system of claim 18 , wherein the intermediate image rendering passes comprise one or more of a shadow pass, an occlusion pass, a reflection pass, or a specular pass.

20. The system of claim 17 , further comprising:

one or more memories to store jitter values to be applied to the motion vectors.

21. The system of claim 20 , wherein the one or more processors is further to retrieve the jitter values from a buffer, and to apply the jitter values to the one or more motion vectors during the rendering.

22. The system of claim 17 , wherein the one or more processors is further to determine at least one image value of a current image frame at least in part from an interpolation of image values of one or more previous image frames, the interpolation being performed according to the one or more motion vectors having the jitter values applied thereto.

23. The system of claim 22 , wherein the interpolation is a Catmull-Rom interpolation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2020
From: KOZLOWSKI, PAWEL; AIZENSHTEIN, MAKSIM
To: NVIDIA CORPORATION
Reel/Frame 053659/0059 →
Continuity (1)
Related Publication 20220068013A1 · Mar 3, 2022
References Cited (16)
US 6628711B1 · Mathew · 2003 [cited by examiner]
US 6906729B1 · Sanz-Pastor · 2005 [cited by applicant]
US 8063914B1 · Miller · 2011 [cited by examiner]
US 10482584B1 · Kim · 2019 [cited by examiner]
US 20050001844A1 · Naegle · 2005 [cited by applicant]
US 20060022975A1 · Bredow · 2006 [cited by applicant]
US 20130033612A1 · Wu · 2013 [cited by examiner]
US 20140161192A1 · Sato · 2014 [cited by examiner]
US 20150364157A1 · Hayashi · 2015 [cited by examiner]
US 20180309969A1 · Schluessler · 2018 [cited by applicant]
US 20200043122A1 · Xiao · 2020 [cited by examiner]
RU 2726284C1 · 2020 [cited by examiner]
Combined Search and Examination Report issued in GB Application No. GB2112261.9, dated Dec. 1, 2021. [cited by applicant]
IEEE, “IEEE Standard 754-2008 (Revision of IEEE Standard 754-1985): IEEE Standard for Floating-Point Arithmetic,” Aug. 29, 2008, 70 pages. [cited by applicant]
Society of Automotive Engineers On-Road Automated Vehicle Standards Committee, “Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles,” Standard No. J3016-201609, issued Jan… [cited by applicant]
Society of Automotive Engineers On-Road Automated Vehicle Standards Committee, “Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles,” Standard No. J3016-201806, issued Jan… [cited by applicant]