IP Library Granted Patent US 6,924,805
Granted Patent B2
US 6,924,805 · App. 10/688,936 · Granted Aug 2, 2005

System and method for image-based rendering with proxy surface animation

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,924,805
App. No.
10/688,936
Granted
Aug 2, 2005
Kind
B2
Abstract

Methods and systems for animating with proxy surfaces are provided. A method for animating includes preprocessing an object to form proxy surfaces of part(s) and/or joint(s), and rendering the proxy surfaces to be animated. In an embodiment, preprocessing includes dividing an object to be animated into parts that can move independently without changing shape, forming a proxy surface for each of the parts corresponding to an initial viewing direction, and obtaining a set of view textures for each of the proxy surfaces. Each part proxy surface is then rendered at a new viewing direction. The new viewing direction is function of an object transformation, part transformation, and an initial viewing direction. The object is then animated by repeating the rendering steps. In another embodiment, the object to be animated is divided into parts and at least one joint that can change shape.

Claims (65)

1. A method for animating an object, comprising:

(a) preprocessing the object to be animated including forming proxy surfaces for parts of the object; and

(b) rendering the proxy surfaces including:

(i) determining a transformation of each part with respect to the object; and

(ii) rendering the proxy surfaces of each part at a new viewing direction based on the determined part transformation, whereby, steps (b)(i) and (b)(ii) can be repeated to animate the object at successive new viewing directions.

2. The method of claim 1 , wherein said pre-processing step (a) comprises:

dividing said object to be animated into at least two parts that can move independently with respect to said object without changing shape;

forming a proxy surface for each of said parts corresponding to an initial viewing direction; and

obtaining a set of view textures for each of said proxy surfaces based on the initial viewing direction.

3. The method of claim 2 , wherein said rendering step (b) further includes:

receiving a selected viewing direction; and

determining an object transformation of the object representing a transformation of the object between the initial viewing direction and the received selected viewing direction and expressing the object transformation as a first matrix (M 1 ).

4. The method of claim 3 , wherein for each part:

said rendering step (b)(i) comprises determining the transformation of each part with respect to the object at the received viewing direction and expressing the part transformation as a second matrix (M 2 ), and

said rendering step (b)(ii) further includes calculating a new viewing direction that is a function of the received viewing direction, the first matrix (M 1 ), and the second matrix (M 2 ).

5. The method of claim 1 , wherein said rendering step (b) further includes determining the new viewing direction as a function of an object transformation, the determined part transformation, and an initial selected viewing direction.

6. A method for animating an object, comprising:

(a) preprocessing the object to be animated including forming proxy surfaces for parts of the object and at least one joint of the object; and

(b) rendering the proxy surfaces for each part and joint including:

(i) determining a transformation of each part with respect to the object; and

(ii) rendering the proxy surfaces of each part at a viewing direction based on the determined part transformation,

(iii) determining a transformation of each primitive of a joint with respect to the object; and

(iv) rendering each joint primitive at a viewing direction based on the determined joint primitive transformation, whereby, steps (b)(i)-(b)(iv) can be repeated to animate the object at different viewing directions.

7. The method of claim 6 , wherein said pre-processing step (a) comprises:

dividing an object to be animated into at least two parts that can move independently with respect to said object;

defining a joint that connects at least two parts of said object, said joint having a plurality of primitives and said joint being capable of changing shape when a part connected to said joint is displaced;

forming a proxy surface for each part and for each joint; and

obtaining a set of view textures for each proxy surface.

8. The method of claim 7 , wherein said rendering step (b) further includes

receiving a viewing direction; and

determining a transformation of the object based on the received viewing direction with respect to the position at which the view textures were calculated and expressing the object transformation as a first matrix.

9. The method of claim 8 , wherein for each part:

said step (b)(i) comprises determining a transformation of each part with respect to the object at the received viewing direction and expressing the part transformation as a second matrix; and

said step (b)(ii) includes calculating a part viewing direction that is a function of the received viewing direction, the first matrix, and the second matrix.

10. The method of claim 9 , wherein for each primitive of a respective joint:

said step (b)(iii) comprises determining the transformation of the primitive with respect to the object at the received viewing direction and expressing the primitive transformation as a third matrix; and

said step (b)(iv) further includes calculating a joint viewing direction that is a function of said received viewing direction, the first matrix and the third matrix.

11. A system for animating comprising:

a preprocessor having a proxy former and a view texture former; and

an animator coupled to said preprocessor having a transformation matrix calculator, a view direction calculator, and an image based renderer;

wherein said animator receives object proxies and view textures, from said preprocessor.

12. A method for animating comprising:

(1) preprocessing an object including the steps of

receiving an object proxy;

dividing said object proxy into parts based on motion characteristics of said object proxy;

forming sub-proxies of said parts based on said dividing step;

forming view textures for said sub-proxies; and

(2) rendering said object including the steps of

receiving said view textures and said sub-proxies;

selecting a viewing direction;

calculating the transformation of said sub-proxies based on said viewing direction;

calculating a new viewing direction based on said transformation; and

rendering said sub-proxy; whereby said object is animated by repeating said step (2).

13. A system for animating an object, comprising:

(a) means for preprocessing the object to be animated including forming proxy surfaces for parts of the object; and

(b) means for rendering the proxy surfaces including:

(i) means for determining a transformation of each part with respect to the object; and

(ii) means for rendering the proxy surfaces of each part at a new viewing direction based on the determined part transformation.

14. A system for animating an object, comprising:

(a) means for preprocessing the object to be animated including forming proxy surfaces for parts of the object and at least one joint of the object; and

(b) means for rendering the proxy surfaces for each part and joint including:

(i) means for determining a transformation of each part with respect to the object; and

(ii) means for rendering the proxy surfaces of each part at a viewing direction based on the determined part transformation,

(iii) means for determining a transformation of each primitive of a joint with respect to the object; and

(iv) means for rendering each joint primitive at a viewing direction based on the determined joint primitive transformation.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2013
From: GRAPHICS PROPERTIES HOLDINGS, INC.
To: RPX CORPORATION
Reel/Frame 029564/0799 →
CHANGE OF NAME Recorded Apr 18, 2012
From: SILICON GRAPHICS, INC.
To: GRAPHICS PROPERTIES HOLDINGS, INC.
Reel/Frame 028066/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: GENERAL ELECTRIC CAPITAL CORPORATION
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 019995/0895 →
SECURITY INTEREST Recorded Oct 24, 2006
From: SILICON GRAPHICS, INC.
To: GENERAL ELECTRIC CAPITAL CORPORATION
Reel/Frame 018545/0777 →
SECURITY AGREEMENT Recorded Aug 19, 2005
From: SILICON GRAPHICS, INC. AND SILICON GRAPHICS FEDERAL, INC. (EACH A DELAWARE CORPORATION)
To: WELLS FARGO FOOTHILL CAPITAL, INC.
Reel/Frame 016871/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2003
From: MECH, RADOMIR
To: SILICON GRAPHICS, INC.
Reel/Frame 014623/0953 →