IP Library Granted Patent US 9,959,664
Granted Patent B2
US 9,959,664 · App. 15/230,069 · Granted May 1, 2018

Adaptive polynomial rendering

Inventors: Bochang Moon (Burbank, CA); Markus Gross (Uster, CH); Steven McDonagh (Burbank, CA); Kenneth J. Mitchell (Burbank, CA)
Assignee: Disney Enterprises, Inc.
G06T15/06G06T2207/20004G06T2207/20021G06T2207/20024
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 9,959,664
App. No.
15/230,069
Granted
May 1, 2018
Kind
B2
Abstract

Embodiments can provide adaptive image filtering. Under this approach, image quality can be enhanced by adjusting an approximation function to better adapt image signals in different parts of an image. Certain parts of the image may be enhanced using a certain approximation function while some other parts of the image may be enhanced using a different approximation function. In certain embodiments, the approximation function selected for a part of the image can be a polynomial function having a specific order. The specific polynomial order can be applied directly to obtain an estimated image value of the part of the image. In certain embodiments, the estimation of the reconstruction error can include iteratively estimating a bias term of the reconstruction error and a variance term of the reconstruction error.

Claims (92)

1. A method for rendering an image from a three-dimensional model, the method being performed by a computer system and comprising:

receiving the image obtained by ray tracing with the three-dimensional model;

identifying one or more blocks of the image;

for each block of the one or more blocks:

for each Taylor polynomial function of a plurality of Taylor polynomial functions of different orders:

estimating a reconstruction error for reconstructing the block of the image using the Taylor polynomial function;

identifying one of the plurality of Taylor polynomial functions with a lowest estimated error; and

reconstructing the block through the image filter using the identified Taylor polynomial function to obtain a filtered image block; and

using the one or more filtered blocks to obtain a filtered image.

2. The method of claim 1 , wherein estimating the reconstruction error includes:

estimating a bias term for the reconstruction error;

estimating a variance term for the reconstruction error; and

estimating the reconstruction error by combining the bias term and the variance term.

3. The method of claim 2 , wherein estimating the bias term for the reconstruction error includes:

estimating the bias term based on an input image value of the block.

4. The method of claim 3 , wherein the bias term is estimated based on the input image value of the block through multiple iterations, wherein:

the first iteration includes:

estimating the bias term using the input image value of the block; and

computing an updated image value of the block using the estimated bias term; and

any iteration subsequent to the first iteration includes:

estimating the bias term using the updated image value computed in the previous iteration; and

computing the updated image value for a current iteration using the estimated bias term computed in the current iteration.

5. The method of claim 3 , wherein computing the bias term based on the input image value includes:

computing a projected value from the input image value.

6. The method of claim 1 , wherein estimating the variance term for the reconstruction error includes:

estimating the variance term based on an input image value of the block.

7. The method of claim 6 , wherein the variance term is estimated based on the input image value of the block through multiple iterations, wherein:

the first iteration includes:

estimating the variance term using the input image value of the block; and

computing an updated image value of the block using the estimated bias term; and

any iteration subsequent to the first iteration includes:

estimating the variance term using the updated image value computed in the previous iteration; and

computing the updated image value for a current iteration based on the estimated variance term computed in the current iteration.

8. The method of claim 7 , wherein computing the updated image value for the current iteration based on the estimated bias term computed in the current iteration includes:

combining the estimated variance term and estimated bias term computed in the previous iteration to obtain the reconstruction error for the previous iteration.

9. A system for rendering an image from a three-dimensional model, the system comprising one or more of a processors configured by machine-readable instructions to perform:

receiving the image obtained by ray tracing with the three-dimensional model;

identifying one or more blocks of the image;

for each block of the one or more blocks:

for each Taylor polynomial function of a plurality of Taylor polynomial functions of different orders:

estimating a reconstruction error for reconstructing the block of the image using the Taylor polynomial function;

identifying one of the plurality of Taylor polynomial functions with a lowest estimated error; and

reconstructing the block through the image filter using the identified Taylor polynomial function to obtain a filtered image block; and

using the one or more filtered blocks to obtain a filtered image.

10. The system of claim 9 , wherein estimating the reconstruction error includes:

estimating a bias term for the reconstruction error;

estimating a variance term for the reconstruction error; and

estimating the reconstruction error by combining the bias term and the variance term.

11. The system of claim 10 , wherein estimating the bias term for the reconstruction error includes:

estimating the bias term based on an input image value of the block.

12. The system of claim 11 , wherein the bias term is estimated based on the input image value of the block through multiple iterations, wherein:

the first iteration includes:

estimating the bias term using the input image value of the block; and

computing an updated image value of the block using the estimated bias term; and

any iteration subsequent to the first iteration includes:

estimating the bias term using the updated image value computed in the previous iteration; and

computing the updated image value for a current iteration using the estimated bias term computed in the current iteration.

13. The system of claim 11 , wherein computing the bias term based on the input image value includes:

computing a projected value from the input image value.

14. The system of claim 9 , wherein estimating the variance term for the reconstruction error includes:

estimating the variance term based on an input image value of the block.

15. The system of claim 14 , wherein the variance term is estimated based on the input image value of the block through multiple iterations, wherein:

the first iteration includes:

estimating the variance term using the input image value of the block; and

computing an updated image value of the block using the estimated bias term; and

any iteration subsequent to the first iteration includes:

estimating the variance term using the updated image value computed in the previous iteration; and

computing the updated image value for a current iteration based on the estimated variance term computed in the current iteration.

16. The method of claim 15 , wherein computing the updated image value for the current iteration based on the estimated bias term computed in the current iteration includes:

combining the estimated variance term and estimated bias term computed in the previous iteration to obtain the reconstruction error for the previous iteration.

17. A computer program product resident on a non-transitory tangible media that is executable on a computer system comprising a processor, a display, and a user-input device, the computer program product comprising:

program code for receiving the image obtained by ray tracing with the three-dimensional model;

program code for identifying one or more blocks of the image;

for each block of the one or more blocks:

for each Taylor polynomial function of a plurality of Taylor polynomial functions of different orders:

program code for estimating a reconstruction error for reconstructing the block of the image using the Taylor polynomial function;

program code for identifying one of the plurality of Taylor polynomial functions with a lowest estimated error; and

program code for reconstructing the block through the image filter using the identified Taylor polynomial function to obtain a filtered image block; and

program code for using the one or more filtered blocks to obtain a filtered image.

18. The computer program product of claim 17 , wherein estimating the reconstruction error includes:

estimating a bias term for the reconstruction error;

estimating a variance term for the reconstruction error; and

estimating the reconstruction error by combining the bias term and the variance term.

19. The computer program product of claim 18 , wherein estimating the bias term for the reconstruction error includes:

estimating the bias term based on an input image value of the block.

20. The computer program product of claim 19 , wherein the bias term is estimated based on the input image value of the block through multiple iterations, wherein:

the first iteration includes:

estimating the bias term using the input image value of the block; and

computing an updated image value of the block using the estimated bias term; and

any iteration subsequent to the first iteration includes:

estimating the bias term using the updated image value computed in the previous iteration; and

computing the updated image value for a current iteration using the estimated bias term computed in the current iteration.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2017
From: THE WALT DISNEY COMPANY (SWITZERLAND) GMBH
To: DISNEY ENTERPRISES, INC.
Reel/Frame 042141/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2017
From: THE WALT DISNEY COMPANY LIMITED
To: DISNEY ENTERPRISES, INC.
Reel/Frame 042141/0185 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 39600 FRAME: 0625. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 15, 2017
From: GROSS, MARKUS
To: THE WALT DISNEY COMPANY (SWITZERLAND) GMBH
Reel/Frame 042064/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2016
From: MOON, BOCHANG; MCDONAGH, STEVEN; MITCHELL, KENNETH J.
To: THE WALT DISNEY COMPANY LIMITED
Reel/Frame 039358/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2016
From: GROSS, MARKUS
To: THE WALT DISNEY COMPANY (SWITZERLAND) GMBH
Reel/Frame 039600/0625 →
Continuity (1)
Related Publication 20180040160A1 · Feb 8, 2018