IP Library Granted Patent US 7,289,119
Granted Patent B2
US 7,289,119 · App. 11/126,496 · Granted Oct 30, 2007

Statistical rendering acceleration

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 7,289,119
App. No.
11/126,496
Granted
Oct 30, 2007
Kind
B2
Abstract

Different rendering techniques are selected for portions of a scene based on statistical estimates of the portions' rendering costs. A scene is partitioned into a bounding volume hierarchy. Each bounding volume includes a statistical model of the spatial distribution of geometric primitives within the bounding volume. An image to be rendered is partitioned into screen regions and each screen region is associated with one or more bounding volumes and their statistical models. The associated statistical models of a screen region are evaluated to estimate the rendering cost, such as the probable number of geometric primitives per pixel, for the screen region. Based on the rendering cost, the screen region is assigned to a dense geometry renderer, such as a ray tracing renderer, or a sparse geometry renderer, such as a rasterization renderer. Rendered screen regions are combined to form a rendered image.

Claims (80)

1. A method of rendering at least a portion of an image of a scene, the scene including geometric primitives, the method comprising:

creating a bounding volume enclosing at least a portion of the geometric primitives of the scene;

creating a statistical model for the bounding volume, wherein the statistical model represents a spatial distribution of the geometric primitives within the bounding volume;

defining a screen region of the image, wherein the screen region is associated with the bounding volume and includes a set of pixels;

estimating a rendering cost of the screen region from at least the statistical model of the associated bounding volume;

selecting one of at least two different renderers to render the geometric primitives enclosed by the bounding volume based on the rendering cost; and

rendering the geometric primitives enclosed by the bounding volume using the selected renderer to produce an image for display on a display device,

wherein estimating a rendering cost of the screen region includes:

projecting the statistical model into a view space associated with the image;

for each of at least a portion of the set of pixels of the screen region, determining a probability value that represents the probability the pixel is covered by at least one geometric primitive enclosed by the bounding volume using the projected statistical model; and

evaluating the probability values of the portion of the set of pixels to determine the rendering cost in terms of a probable number of geometric primitives per pixel for the screen region.

2. The method of claim 1 , wherein selecting includes:

instructing a first renderer to render the geometric primitives enclosed by the bounding volume if the rendering cost of the screen region exceeds a threshold; and

instructing a second renderer to render the geometric primitives enclosed by the bounding volume if the rendering cost of the screen region does not exceed a threshold.

3. The method of claim 2 , wherein the first renderer is a ray tracing renderer.

4. The method of claim 2 , wherein the second renderer is a rasterization renderer.

5. The method of claim 1 , wherein the bounding volume is part of a bounding volume hierarchy partitioning the geometric primitives of the scene.

6. The method of claim 5 , wherein the bounding volume hierarchy is a voxel grid.

7. The method of claim 5 , wherein the bounding volume hierarchy is a binary space partition tree.

8. The method of claim 1 , wherein defining a screen region includes:

projecting the bounding volume into a view space associated with the image to form a set of at least one polygon covering at least a first portion of the image; and

defining the screen region as at least the first portion of the image covered by the set of at least one polygon.

9. The method of claim 8 , wherein defining the screen region further includes defining a new polygon enclosing the set of at least one polygon and defining the screen region as a second portion of the image covered by the new polygon and including the first portion of the image.

10. The method of claim 1 , wherein evaluating the probability values of the portion of the set of pixels further includes:

for each pixel of at least the portion of the set of pixels of the screen region, combining the probability value with a second probability value, wherein the second probability value represents the probability that the pixel is covered by at least one geometric primitive enclosed by a second bounding volume associated with the screen region.

11. The method of claim 1 , wherein projecting the statistical model includes a perspective projection transformation.

12. The method of claim 1 , wherein projecting the statistical model includes an orthographic projection transformation.

13. The method of claim 1 , wherein at least a portion of the set of pixels potentially covers at least a portion of a projection of the bounding volume.

14. The method of claim 1 , further comprising:

receiving from the selected renderer a first set of rendered pixels corresponding to at least a portion of the set of pixels of the screen region;

receiving from one of at least two different renderers an additional set of pixels corresponding to at least a portion of a set of pixels of a second screen region associated with a second bounding volume that encloses a second portion of the set of geometric primitives of the scene; and

combining the first set of rendered pixels and the additional set of pixels to form at least a portion of the image.

15. The method of claim 14 , further comprising:

defining an additional screen region including a portion of the set of pixels of the screen region, wherein the portion of the set of pixels is not rendered to by the selected renderer.

16. The method of claim 1 , wherein creating a statistical model for the bounding volume includes determining a mean position of the portion of the geometric primitives of the scene enclosed by the bounding volume.

17. The method of claim 1 , wherein creating a statistical model for the bounding volume includes determining a mean size of the portion of the geometric primitives of the scene enclosed by the bounding volume.

18. The method of claim 1 , wherein creating a statistical model for the bounding volume includes determining at least one standard deviation in position of the portion of the geometric primitives of the scene enclosed by the bounding volume.

19. The method of claim 1 , wherein creating a statistical model for the bounding volume includes:

representing the portion of the geometric primitives of the scene enclosed by the bounding volume with a set of rotationally invariant objects; and

determining a set of statistical attributes of the set of rotationally invariant objects.

20. An information storage medium including instructions adapted to direct an information processing device to perform an operation to render at least a portion of an image of a scene, the scene including geometric primitives, the operation comprising:

creating a bounding volume enclosing at least a portion of the geometric primitives of the scene;

creating a statistical model for the bounding volume, wherein the statistical model represents a spatial distribution of the geometric primitives within the bounding volume;

defining a screen region of the image, wherein the screen region is associated with the bounding volume and includes a set of pixels;

estimating a rendering cost of the screen region from at least the statistical model of the associated bounding volume; and

selecting one of at least two different renderers to render the geometric primitives enclosed by the bounding volume based on the rendering cost; and

rendering the geometric primitives enclosed by the bounding volume using the selected renderer to produce an image for display on a display device,

wherein estimating a rendering cost of the screen region includes:

projecting the statistical model into a view space associated with the image;

for each of at least a portion of the set of pixels of the screen region, determining a probability value that represents the probability the pixel is covered by at least one geometric primitive enclosed by the bounding volume using the projected statistical model; and

evaluating the probability values of the portion of the set of pixels to determine the rendering cost in terms of a probable number of geometric primitives per pixel for the screen region.

21. The information storage medium of claim 20 , wherein selecting includes:

instructing a first renderer to render the geometric primitives enclosed by the bounding volume if the rendering cost of the screen region exceeds a threshold; and

instructing a second renderer to render the geometric primitives enclosed by the bounding volume if the rendering cost of the screen region does not exceed a threshold.

22. The information storage medium of claim 21 , wherein the first renderer is a ray tracing renderer.

23. The information storage medium of claim 21 , wherein the second renderer is a rasterization renderer.

24. The information storage medium of claim 20 , wherein the bounding volume is part of a bounding volume hierarchy partitioning the geometric primitives of the scene.

25. The information storage medium of claim 24 , wherein the bounding volume hierarchy is a voxel grid.

26. The information storage medium of claim 24 , wherein the bounding volume hierarchy is a binary space partition tree.

27. The information storage medium of claim 20 , wherein defining a screen region includes:

projecting the bounding volume into a view space associated with the image to form a set of at least one polygon covering at least a first portion of the image; and

defining the screen region as at least the first portion of the image covered by the set of at least one polygon.

28. The information storage medium of claim 27 , wherein defining the screen region further includes defining a new polygon enclosing the set of at least one polygon and defining the screen region as a second portion of the image covered by the new polygon and including the first portion of the image.

29. The information storage medium of claim 20 , wherein evaluating the probability values of the portion of the set of pixels further includes:

for each pixel of at least the portion of the set of pixels of the screen region, combining the probability value with a second probability value, wherein the second probability value represents the probability that the pixel is covered by at least one geometric primitive enclosed by a second bounding volume associated with the screen region.

30. The information storage medium of claim 20 , wherein projecting the statistical model includes a perspective projection transformation.

31. The information storage medium of claim 20 , wherein projecting the statistical model includes an orthographic projection transformation.

32. The information storage medium of claim 20 , wherein at least a portion of the set of pixels potentially covers at least a portion of a projection of the bounding volume.

33. The information storage medium of claim 20 , further comprising:

receiving from the selected renderer a first set of rendered pixels corresponding to at least a portion of the set of pixels of the screen region;

receiving from one of at least two different renderers an additional set of pixels corresponding to at least a portion of a set of pixels of a second screen region associated with a second bounding volume that encloses a second portion of the set of geometric primitives of the scene; and

combining the first set of rendered pixels and the additional set of pixels to form at least a portion of the image.

34. The information storage medium of claim 33 , further comprising:

defining an additional screen region including a portion of the set of pixels of the screen region, wherein the portion of the set of pixels is not rendered to by the selected renderer.

35. The information storage medium of claim 20 , wherein creating a statistical model for the bounding volume includes determining a mean position of the portion of the geometric primitives of the scene enclosed by the bounding volume.

36. The information storage medium of claim 20 , wherein creating a statistical model for the bounding volume includes determining a mean size of the portion of the geometric primitives of the scene enclosed by the bounding volume.

37. The information storage medium of claim 20 , wherein creating a statistical model for the bounding volume includes determining at least one standard deviation in position of the portion of the geometric primitives of the scene enclosed by the bounding volume.

38. The information storage medium of claim 20 , wherein creating a statistical model for the bounding volume includes:

representing the portion of the geometric primitives of the scene enclosed by the bounding volume with a set of rotationally invariant objects; and

determining a set of statistical attributes of the set of rotationally invariant objects.

Assignments (4)
CHANGE OF NAME Recorded Jul 1, 2016
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 039239/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: SONY NETWORK ENTERTAINMENT PLATFORM INC.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 027551/0154 →
CHANGE OF NAME Recorded Dec 26, 2011
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Reel/Frame 027445/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2005
From: HEIRICH, ALAN BRYANT; MAMODE, AXEL
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 016560/0537 →