IP Library Granted Patent US 6,987,516
Granted Patent B2
US 6,987,516 · App. 09/994,123 · Granted Jan 17, 2006

Rendering animated image data

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 6,987,516
App. No.
09/994,123
Granted
Jan 17, 2006
Kind
B2
Abstract

Animation data is rendered in real time. Animated scenes include at least one texture-mapped surface ( 502 ). Each scene is rendered on demand, in immediate continuation from the last, and results of scene animation may be combined with image data from another real time image source. Textures ( 921 ) are pre-loaded into a texture memory ( 809 ) before a scene containing them is rendered. As a result of the necessity to perform rendering ( 1521 ) in real time, each frame has an available bandwidth ( 1501 ) for transferring a texture to the texture memory. Estimates of available bandwidth are generated ( 1302 ) by an adaptive statistical model. A texture required for transfer is split ( 1307 ) into portions ( 1801 ) that are transferred ( 1511 ) as a background operation, while real time rendering continues without loss of rendering quality.

Claims (59)

1. An apparatus for rendering animated image data in real time, comprising:

texture storage means;

data storage means configured to store data, including scene data, that defines a plurality of sequentially displayable scenes, each of which is rendered as an image sequence in real time, wherein data for each of said scenes includes a texture for the respective scene, that requires transfer to said texture storage means in advance of said scene being rendered; and

central processing means and graphical processing means configured to perform operations to render said scenes, without a pause between scenes, said operations being under control of said central processing means, which is configurable to execute instructions for performing the steps of:

(a) rendering the next frame of the current scene;

(b) estimating a bandwidth availability for texture transfer that is unlikely to interfere with the real-time rendering of the current scene;

(c) identifying the amount of data in a texture required for rendering a next scene;

(d) splitting said required texture into texture portions that satisfy said bandwidth availability; and

(e) transferring one of said texture portions from said data storage means to said texture storage means using said available bandwidth while rendering, in real-time, the current scene.

2. Apparatus according to claim 1 , wherein said estimating step (b) includes steps of:

(b1) measuring a processing availability with reference to a due time for a frame in a regularly updated frame sequence;

(b2) updating adaptive statistical model with said processing availability; and

(b3) obtaining an availability estimate from said updated adaptive statistical model.

3. Apparatus according to claim 1 , wherein said splitting step (d) includes splitting said texture along texture pixels.

4. Apparatus according to claim 1 , wherein said transferring step (e) is performed by a process of direct memory access.

5. Apparatus according to claim 1 , wherein said texture storage means includes texture memory management means for deleting textures.

6. Apparatus according to claim 1 , wherein said central processing means is configured to execute instructions for performing the additional steps of:

(f) selecting a texture for deletion from said texture storage means; and

(g) deciding whether to delete said selected texture in response to the time before the next frame is due to be rendered.

7. Apparatus according to claim 1 , including image combining means for combining rendered animation images with images from a live video camera.

8. Apparatus according to claim 1 , wherein said central processing means is configured to modify a scene animation projection in response to camera position data.

9. The apparatus of claim 1 wherein the available bandwidth occurs between the rendering of the next frame in the current scene and a buffer swap for rendering a subsequent frame in the current scene.

10. A method of rendering animated image data in real time without a pause between scenes comprising:

(a) rendering a next frame of a current scene, wherein each scene includes a texture that is transferred to a texture storage means in advance of rendering its respective scene;

(b) estimating a bandwidth availability for texture transfer that is unlikely to interfere with real-time rendering of the current scene;

(c) identifying the amount of data in a texture required for rendering a next scene;

(d) splitting said required texture into texture portions that satisfy said bandwidth availability; and

(e) transferring one of said texture portions from a data storage means to the texture storage means using said available bandwidth while rendering, in real-time, the current scene, wherein the data storage means includes scene data defining a plurality of sequentially displayable scenes.

11. A method according to claim 10 , wherein said estimating step (b) includes the steps of:

(b1) measuring a processing availability with reference to a due time for a frame in a regularly updated frame sequence;

(b2) updating an adaptive statistical model with said processing availability; and

(b3) obtaining availability estimate from said updated adaptive statistical model.

12. A method according to claim 10 , wherein said splitting step (d) includes splitting said texture along texture pixels.

13. A method according to claim 10 , wherein said transferring step (e) is performed by a process of direct memory access.

14. A method according to claim 10 , including deleting textures from said texture storage means.

15. A method according to claim 10 , further comprising:

(f) selecting a texture for deletion from said texture storage means; and

(g) deciding whether to delete said selected texture in response to an assessment of the time available before the next frame is due to be rendered.

16. A method according to claim 10 , further comprising combining rendered animation images with images from a live video source.

17. A method according to claim 10 , further comprising modifying a scene animation projection in response to camera position data.

18. The method of claim 10 wherein the available bandwidth occurs between the rendering of the next frame in the current scene and a buffer swap for rendering a subsequent frame in the current scene.

19. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform a method for rendering image data, the method comprising:

(a) storing data including scene data that defines a plurality of sequentially displayable scenes to be rendered as an image sequence in real time, wherein data for each said scene includes a texture for the respective scene that is transferred to storage in advance of its rendering;

(b) rendering a next frame of a current scene;

(c) estimating a bandwidth availability for texture transfer that is unlikely to interfere with the real time rendering of the current scene;

(d) identifying an amount of data in a texture required for rendering the next scene;

(e) splitting said required texture into one or more texture portions that satisfy said bandwidth availability; and

(f) transferring one of said texture portions to storage using said available bandwidth while rendering, in real-time, the current scene.

20. An article of manufacture according to claim 19 , wherein the estimating further comprises:

measuring a processing availability with reference to a due time for a frame in a regularly updated frame sequence;

updating an adaptive statistical model with said processing availability; and

obtaining an availability estimate from said updated adaptive statistical model.

21. An article of manufacture according to claim 19 wherein the splitting further comprises splitting said texture along texture pixel.

22. An article of manufacture according to claim 19 , wherein the method further comprises:

(f) selecting a texture for deletion from said texture storage means; and

(g) deciding whether to delete said selected texture in response to the time before the next frame is due to be rendered.

23. An article of manufacture according to claim 19 , wherein the method further comprises combining rendered animation images with images from a video source.

24. An article of manufacture according to claim 19 , wherein the method further comprises modifying a scene animation projection in response to camera position data.

25. The article of manufacture of claim 19 wherein the available bandwidth occurs between the rendering of the next frame in the current scene and a buffer swap for rendering a subsequent frame in the current scene.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2009
From: AUTODESK CANADA CO.
To: AUTODESK, INC.
Reel/Frame 022445/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2005
From: AUTODESK CANADA INC.
To: AUTODESK CANADA CO.
Reel/Frame 016641/0922 →
CHANGE OF NAME Recorded May 24, 2002
From: DISCREET LOGIC INC.
To: AUTODESK CANADA INC.
Reel/Frame 012897/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2001
From: DERY, JEAN LUC
To: DISCREET LOGIC INC.
Reel/Frame 012326/0826 →