Patent US5945992A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5945992A Expired / Lapsed US ⏱️ 0.0 years remaining

Multilevel, client-server, large model traverser

Assignee: Hewlett Packard Development Co LP
•
Filing: 1996-05-29
•
Granted: 1999-08-31
•
Expires: 2016-05-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a client-server system in which scenes of objects are displayed by a client which receives data from a server, the rendering of the scene is speeded up by eliminating large amounts of data associated with objects which will not be rendered. This is accomplished by storing the object data in a tree hierarchy, and then first pruning those objects which are outside of the view of the observer in several defined steps. After the objects which will not be rendered have been pruned by the server, the data associated with objects which could not be pruned is transferred to the client over a data path, and the client goes through a number of steps to cull objects which will not be viewed. By utilizing the present invention, the display of graphics objects is significantly enhanced without need to use the former brute force methodology.

Inventors

  • 👤 Ross Cunniff

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 22:53
CPC Classifications
G; G06; G06T; G06T1/00; G06T1/20

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 223 words
An improved multi-level client server, large model traverser of the type comprising a server system, a client system, and a data path connecting said server system to said client system, wherein the improvement comprises: (a) pruning means within said server system for pruning objects which are not rendered by the client, said pruning means eliminating said objects from the set of objects which will be transmitted by said server system to said client system, said set of objects selected in response to data transmitted from said client system to said server system; (b) means for storing objects at said server system and for storing indicators at said server system, said indicators indicating whether one of said objects may be visible when another one of said objects is visible, wherein said pruning means eliminates said one of said objects based on said indicators; (c) culling means within said client system for eliminating the data associated with objects which will not be viewed prior to the server sending data to the client over said data path, whereby data which is not needed by said client can be pruned by said server system prior to sending data over said data path to said client system, and data which will not be part of the scene can be culled by said client system prior to being rendered.
Claim 2
Dependent Claim 223 words
An improved multi-level client server, large model traverser of the type comprising a server system, a client system, and a data path connecting said server system to said client system, wherein the improvement comprises: (a) pruning means within said server system for pruning objects which are not rendered by the client, said pruning means eliminating said objects from the set of objects which will be transmitted by said server system to said client system, said set of objects selected in response to data transmitted from said client system to said server system; (b) means for storing objects at said server system and for storing indicators at said server system, said indicators indicating whether one of said objects may be visible when another one of said objects is visible, wherein said pruning means eliminates said one of said objects based on said indicators; (c) culling means within said client system for eliminating the data associated with objects which will not be viewed prior to the server sending data to the client over said data path, whereby data which is not needed by said client can be pruned by said server system prior to sending data over said data path to said client system, and data which will not be part of the scene can be culled by said client system prior to being rendered.
Claim 3
Dependent Claim 192 words
An improved multi-level client server, large model traverser of the type comprising a server system, a client system, and a data path connecting said server system to said client system, wherein the improvement comprises: (a) pruning means within said server system for pruning objects which are not rendered by the client, said pruning means eliminating said objects from the set of objects which will be transmitted by said server system to said client system, wherein said pruning means within said server system includes: (1) means for performing Object Hierarchy Elimination; (2) means for performing View Cone Elimination; (3) means for performing front-to-back object sorting; and (4) means for performing Obscured Object Rejection; culling means within said client system for eliminating the data associated with objects which will not be viewed prior to the server sending data to the client over said data path, whereby data which is not needed by said client can be pruned by said server system prior to sending data over said data path to said client system, and data which will not be part of the scene can be culled by said client system prior to being rendered.
Claim 4
Dependent Claim 192 words
An improved multi-level client server, large model traverser of the type comprising a server system, a client system, and a data path connecting said server system to said client system, wherein the improvement comprises: (a) pruning means within said server system for pruning objects which are not rendered by the client, said pruning means eliminating said objects from the set of objects which will be transmitted by said server system to said client system, wherein said pruning means within said server system includes: (1) means for performing Object Hierarchy Elimination; (2) means for performing View Cone Elimination; (3) means for performing front-to-back object sorting; and (4) means for performing Obscured Object Rejection; culling means within said client system for eliminating the data associated with objects which will not be viewed prior to the server sending data to the client over said data path, whereby data which is not needed by said client can be pruned by said server system prior to sending data over said data path to said client system, and data which will not be part of the scene can be culled by said client system prior to being rendered.
Claim 5
Dependent Claim 61 words
The improved multi-level client server, large model traverser of claim 2 wherein said means for performing Object Hierarchy Elimination comprises a hierarchical data structure containing object data arranged as a hierarchy of objects, wherein said hierarchy defines the relationship between a first object and a second object based upon whether said first object contains or is contained by a second object.
Claim 6
Dependent Claim 54 words
The improved multi-level client server, large model traverser of claim 2 wherein said means for performing View Cone Elimination comprises means for determining whether a graphics object having a defined radius and position in space is within the field of view of an observer looking in a particular direction with a defined viewing angle.
Claim 7
Dependent Claim 33 words
The improved multi-level client server, large model traverser of claim 2 wherein said means for performing front-to-back object sorting comprises means for determining the relative distances from an observer of other graphics objects.
Claim 8
Dependent Claim 69 words
The improved multi-level client server, large model traverser of claim 2 wherein said means for performing Obscured Object Rejection comprises means for determining whether a first graphics object having a defined radius and position in space is obscured by a closer graphics object to an observer, wherein said closer graphics object has a defined opaque radius and position, and said first graphics object has a defined radius and position.
Claim 9
Dependent Claim 41 words
The improved multi-level client server, large model traverser of claim 3 wherein said hierarchy defines the relationship between said first object and said second object based upon whether said first object and said second object are contained by a third object.
Claim 10
Dependent Claim 43 words
The improved multi-level client server, large model traverser of claim 3 wherein said hierarchy defines the relationship between said first object and said second object based upon whether said first object is contained by a fourth object which also contains a second object.
Claim 11
Dependent Claim 280 words
An improved method of rendering graphics scenes on a client system served by a server through a data path, the improvement comprising the steps of: (a) storing the data as a hierarchy of objects on said server, said object data being stored in a hierarchy being in the form of a tree structure in which objects contained by other objects are at different levels of said tree structure, each object being able to point to any parent object in which said object is contained, to any child object which said object contains, and to all sibling objects which are contained by the same parent object; (b) pruning objects from said tree structure if they are not contained by said object or if they are not contained by the same parental objects which contain said object, where a parental object is either a parent of said object, a sibling of a parent of said object or a parental object of a parental object; (c) pruning from objects which have not been pruned, those objects which are outside of the field of view of the observer; (d) sorting those objects which have not been pruned, and pruning from said sorted objects those objects which would be obscured by objects closer to the observer; (e) transmitting data which has not been pruned over said data path to said client; (f) culling from said transmitted data those objects which have minimal detail; (g) culling from the remaining data those objects whose bounding volume is outside of the view frustum of the observer; (h) culling from the remaining data those objects which can be eliminated by the graphics API; and (i) rendering the remaining objects.
Claim 12
Dependent Claim 280 words
An improved method of rendering graphics scenes on a client system served by a server through a data path, the improvement comprising the steps of: (a) storing the data as a hierarchy of objects on said server, said object data being stored in a hierarchy being in the form of a tree structure in which objects contained by other objects are at different levels of said tree structure, each object being able to point to any parent object in which said object is contained, to any child object which said object contains, and to all sibling objects which are contained by the same parent object; (b) pruning objects from said tree structure if they are not contained by said object or if they are not contained by the same parental objects which contain said object, where a parental object is either a parent of said object, a sibling of a parent of said object or a parental object of a parental object; (c) pruning from objects which have not been pruned, those objects which are outside of the field of view of the observer; (d) sorting those objects which have not been pruned, and pruning from said sorted objects those objects which would be obscured by objects closer to the observer; (e) transmitting data which has not been pruned over said data path to said client; (f) culling from said transmitted data those objects which have minimal detail; (g) culling from the remaining data those objects whose bounding volume is outside of the view frustum of the observer; (h) culling from the remaining data those objects which can be eliminated by the graphics API; and (i) rendering the remaining objects.
Claim 13
Dependent Claim 31 words
The method of claim 9 further comprising the steps of: (a) performing Object Hierarchy Elimination; (b) performing View Cone Elimination; (c) performing front-to-back object sorting; and (d) performing Obscured Object Rejection.
Claim 14
Dependent Claim 32 words
The method of claim 10, further comprising the step of determining whether a graphics object having a defined radius and position in space is within the field of view of the observer.
Claim 15
Dependent Claim 57 words
The method of claim 10, further comprising the step of determining whether a first graphics object having a defined radius and position in space is obscured by a closer graphics object to the observer, wherein said closer graphics object has a defined opaque radius and position, and said first graphics object has a defined radius and position.
Claim 16
Independent Claim 146 words
A system for rendering data in a graphical computer, comprising: a client configured to receive a pruned set of objects and to render data from said pruned set of objects in order to form a graphical representation of said pruned set of objects; a server configured to store data as a hierarchical list of objects and to transmit said pruned set of objects to said client, said hierarchical list forming a tree structure having parent objects that are associated with children objects, wherein each of said parent objects is respectively associated with other objects that are within a scene displaying said parent object; pruning means within said server for selecting said pruned set of objects based on a hierarchical position within said tree structure of each object of said pruned set of objects; and culling means for eliminating data associated with said pruned set of objects.
Claim 17
Independent Claim 146 words
A system for rendering data in a graphical computer, comprising: a client configured to receive a pruned set of objects and to render data from said pruned set of objects in order to form a graphical representation of said pruned set of objects; a server configured to store data as a hierarchical list of objects and to transmit said pruned set of objects to said client, said hierarchical list forming a tree structure having parent objects that are associated with children objects, wherein each of said parent objects is respectively associated with other objects that are within a scene displaying said parent object; pruning means within said server for selecting said pruned set of objects based on a hierarchical position within said tree structure of each object of said pruned set of objects; and culling means for eliminating data associated with said pruned set of objects.
Claim 18
Dependent Claim 39 words
The system of claim 13 wherein said pruning means is configured to select each child object associated with a particular object, each parent object associated with said particular object, and each sibling object associated with each said parent object.
Claim 19
Dependent Claim 23 words
The system of claim 13 wherein said pruning means is further configured to eliminate objects which are outside of an observer view cone.
Claim 20
Dependent Claim 13 words
The system of claim 13 wherein said hierarchical list is a linked list.
Claim 21
Dependent Claim 25 words
The system of claim 16 wherein said pruning means is further configured to eliminate objects based on a distance of an object from an observer.

References Cited (Backward Citations)

US4430526A Cited
US5553223A Cited
US5339247A Cited
US5659691A Cited
EP0700018A2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-30 2003-03-01 2003-08-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-30 2007-03-01 2007-08-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-30 2011-03-01 2011-08-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag