WO2001011568A1 - The pset object-oriented data structure - Google Patents

The pset object-oriented data structure Download PDF

Info

Publication number
WO2001011568A1
WO2001011568A1 PCT/US2000/021365 US0021365W WO0111568A1 WO 2001011568 A1 WO2001011568 A1 WO 2001011568A1 US 0021365 W US0021365 W US 0021365W WO 0111568 A1 WO0111568 A1 WO 0111568A1
Authority
WO
WIPO (PCT)
Prior art keywords
pset
child
parent
relationship
data structure
Prior art date
Application number
PCT/US2000/021365
Other languages
French (fr)
Inventor
Michael C. Sheasby
Sylvain Moreau
Marc P. Stevens
Jean-Claude Bouchard
Daniel Desbois
Original Assignee
Avid Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avid Technology, Inc. filed Critical Avid Technology, Inc.
Priority to AU65202/00A priority Critical patent/AU6520200A/en
Publication of WO2001011568A1 publication Critical patent/WO2001011568A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Definitions

  • the present invention relates particularly to a graphics imaging system for producing animation and more particularly to a graphics imaging system that includes a PSet data structure defining the relationship between a child PSet and its parent PSet hierarchies, which themselves may expose PSets, such as Inverse Kinematic chains.
  • Computer systems for generating animation are used in the cinema and television industries. In these industries, animation is useful for generating entertainment multi-media and programs for professional purposes such as training materials. These applications are authored by an animator to produce the finished imaging work, which typically involves controlling specific objects through a sequence of scenes or settings to present a movement in the object during the time span.
  • PSet data constructs
  • a PSet is hierarchical in structure, and thus can contain other lower level PSets within it.
  • an object such as a "style” that defines the attributes of a brush stroke applied to a surface in a graphics session can be defined as a top-level PSet that includes lower level PSets such a "brush” and "fill effect” within it.
  • PSets can be constructed from other PSets, it is typical for a basic PSet that implements a fundamental object such as a "brush" description to be included in a number of other higher-level PSets.
  • a child PSet therefor has a defined relationship with its parent PSet in the hierarchical tree structure, which may be different for an individual PSet depending on the parent PSet. This relationship may be significant to a client process that operates on the PSet hierarchy. For example, a property editor for defining the properties associated with the PSet may need to understand if the child PSet is always included in the parent PSet or if an instance of the child PSet is optional.
  • a client process may be dealing with the PSet at "arm's length" and inte ⁇ rets the PSet structure for some pu ⁇ ose that the author of a PSetmay have never contemplated. It would be desirable to provide standardized PSet flags to set forth a common language for descriptions.
  • the present invention provides for a data structure, implementable on a computer readable medium for specifying a parent Parameter Set (PSet) data structure stored thereon which includes a plurality of child Parameter Sets (PSets).
  • PSet parent Parameter Set
  • Each of the PSet data structures includes a flag data element for determining the relationship between the child PSet and the parent PSet.
  • the relationship between the child PSet and the parent PSet is that of a contained PSet in which the child PSet will always be present in the parent PSet.
  • the relationship between the child PSet and the parent PSet is that of a collected inherited PSet in which the child PSet is optionally present in the parent PSet which has been inherited from another object.
  • the relationship between the child PSet and the parent PSet is that of a collected local PSet in which the child PSet is optionally present in the parent PSet which is specific to that object.
  • the relationship between the child PSet and the parent PSet is that of a collected local PSet in which the child PSet is optionally present in the parent PSet which is specific to that object.
  • the relationship between the parent PSet and the child PSet is that of an object PSet in which the parent PSet is the top-level of a distinct object.
  • the relationship between the child PSet and the parent PSet is that of a port PSet in which the child PSet is connected to the parent via a port.
  • a PSet is provided with a keyword corresponding to a specified property of the PSet
  • FIG. 1 is a drawing of a computer system suitable for implementing a system for editing PSets, according to the present invention.
  • FIG. 2 depicts the hardware components of the computer system of FIG. 1 in further detail.
  • FIG. 3 depicts a hierarchy of PSets for two different objects.
  • FIG. 4 depicts a parent/child PSet relationship having a flag data structure, according to the present invention.
  • the present invention is described for illustrative pu ⁇ oses with reference to the editing of video information or 3D graphics.
  • the invention in it broadest aspect, is applicable to applications other than video applications, and it is not intended that the scope of the invention be so limited.
  • the present invention is also applicable to the editing of audio data, and to media data in general.
  • a computer graphics imaging system 10 is schematically depicted in FIG. 1 and FIG. 2.
  • the graphics imaging system 10 includes a computer 1 1 that has a central processing unit (CPU) 12, a system bus 14, a static memory 16, a main memory 18, a mass memory 20, an alphanumeric input device 22, a pointer device 24 for manipulating a cursor and making selections of data, and a display adapter 26 for coupling control signals to a video display 28 such as a computer monitor. Since the graphics imaging system 10 is particularly suited to high resolution, high-speed graphics imaging the display or monitor 28 is most preferably a high-resolution wide screen display.
  • the CPU 12 executes imaging software described below to allow the system 10 to render high quality graphics images on the monitor 28.
  • the CPU 12 comprises a suitable processing device such as a microprocessor, for example, and may comprise a plurality of suitable processing devices.
  • the CPU 12 executes instructions stored in the static memory 16, main memory 18, and/or mass memory 20.
  • the static memory 16 may comprise read only memory (ROM) or any other suitable memory device.
  • the static memory may store, for example, a boot program for execution by CPU 12 to initialize the graphics imaging system 10.
  • the main memory 18 may comprise random access memory (RAM) or any other suitable memory device.
  • the mass memory 20 may include a hard disk device, a floppy disk, an optical disk, a flash memory device, a CDROM, a file server device or any other suitable memory device.
  • the term memory comprises a single memory device and any combination of suitable devices for the storage of data and instructions.
  • the system bus 14 provides for the transfer of digital information between the hardware devices of the graphics imaging system 10.
  • the CPU 12 also receives data over the system bus 14 that is input by a user through alphanumeric input device 22 and/or the pointer device 24.
  • the alphanumeric input device 22 may comprise a keyboard, for example, that comprises alphanumeric keys.
  • the alphanumeric input device 22 may comprise other suitable keys such as function keys for example.
  • the pointer device 24 may comprise a mouse, track-ball, and/or joystick, for example, for controlling the movement of a cursor displayed on the computer display 28.
  • the graphics imaging system 10 of FIG. 1 also includes display adapter hardware 26 that may be implemented as a circuit that interfaces with system bus 14 for facilitating rendering of images on the computer display 28.
  • the display adapter hardware 26 may, for example, be implemented with a special graphics processor printed circuit board including dedicated random access memory that helps speed the rendering of high resolution, color images on a viewing screen of the display 28.
  • the display 28 may comprise a cathode ray tube (CRT) or a liquid crystal display particularly suited for displaying graphics on its viewing screen.
  • CTR cathode ray tube
  • the invention can be implemented using high-speed graphics workstations as well as personal computers having one or more high-speed processors.
  • the graphics imaging system 10 utilizes specialized graphics software particularly suited to take advantage of the imaging hardware included in the display system 10 depicted in FIG. 1 and FIG. 2.
  • the software implements non-linear editing, compositing, audio mixing, and graphics design suites which are used to create multimedia presentations.
  • Source material for use with such a system can be obtained from a media storage device 50 that can include videotape, film reel, and digitally recorded videodisks.
  • the source material can also be in the form of previously digitized materials stored on a computer memory 20 such as computer generated animations, graphic images or video files stored on a large capacity hard or fixed disk storage device.
  • the system 10 includes a multi-media interface 30 for converting image data into a form suitable for use by the software executing on CPU 12 and display adapter 26.
  • a representative display by the graphics software presents multiple images 52 of different resolutions.
  • An object is a self-contained collection of data structures and routines that interact with other objects. Every object can be defined to have a set of properties.
  • a set of properties is a collection of parameters termed a "PSet" for Parameter Set that describe the object.
  • an image effect object has one property set describing blur amount, affected channels, etc.
  • a paint stroke has a number of properties, each of which describes a subgroup of properties about the stroke, namely, for example, brush, fill effect, edge effect, timing and transformations.
  • Each property contains a set of parameters namely brush contains width, softness as well as other parameters.
  • Fill effect might also consist of a stack of effects, each of which has its own properties.
  • PSets represent the Stroke object for applying a stroke to another object and the Text object for inserting textual material into an image.
  • Both of these PSets are structured in a hierarchical manner such that the top-level PSet in each instance includes lower level PSets.
  • a PSet is called a parent PSet if that PSet has a lower level PSet, termed a child PSet, directly under it in its hierarchy.
  • Stroke is the parent PSet of two child PSets, namely Brush and Transform. Still considering the Stroke PSet shown in FIG.
  • the Brush PSet includes two parameters defining the properties of the Brush PSet, namely w for the width of the brush and h for the height.
  • the Transform PSet has two parameters describing the coordinates of the Transformation. It is pointed out that both the Brush and Transform PSets could also be parents to lower level PSets.
  • PSets can be structured in a hierarchical manner according to a parent/child relationship.
  • the relationship between the parent PSet and the child PSet is dependent on the objects that they represent, and thus it is appropriate to maintain in the PSet data structure a flag mechanism that exposes this relationship so that a client process, such as a property editor, can easily determine the relationship. .
  • the PSet data structure 400 includes a flag data structure 430 for identifying the relationship of a child PSet 420 to its parent PSet 410.
  • the flag data structure 430 refers to the relationship from the perspective of the child PSet 420.
  • the flag data structure may contain, for example, indications of the following relationships between the parent PSet 410 and the child PSet 420.
  • a 'shader' is a PSet describing how an object should be rendered.
  • the shader for this table looks like wood.
  • a 'render pass' is a set of shaders applied to a 3D scene with the intent of 'turning off objects in the rendered output of the scene.
  • the table when asked what color it is by the rendering engine, would report 'black' instead of 'wood-colored' .
  • Shaders in general are collected PSets, because objects don't have to have shaders attached to them.
  • the table object still knows that it is wood-colored; if asked, the collected local PSet would report 'wood'.
  • the renderer asks the object for a color, it sees the superimposed 'black' shader from the render pass, therefor a collected inherited PSet.
  • Some PSets require inputs to operate. For example a revolve operator, which produces a geometry given an axis and a curve to revolve about that axis, has 'ports' for the axis and curve objects.
  • Some client views would like to 'follow' the relationship to see these child objects, while other views would not.
  • the scene explorer might expose the axis as an input to the revolve operator, while a property editor showing the properties of the revolve would not expose the detail of the axis to the user as a property.
  • the relationship is flagged between the PSets as a port connection so that client views can decide to follow or not follow this relationship to children PSets as needed.
  • a top level PSet may also contain a flag data structure 430, and each time a PSet is made a child of another PSet, the parent PSet has the option to accept the default relationship exposed by the child or override the default published by the child with a new description.
  • flag data structure 430 includes a keyword describing that child PSet in some manner.
  • the keyword is in an unstructured format that is dependent on the individual PSet. This flag format is advantageous for filtering the display of this PSet within specific client processes, such as an animation editor.
  • the flag data structure 430 include an indicator for determining if the PSet is to be displayed hierarchically or as a flat list.
  • a client process can ask to have the hierarchy of PSets reported in one of two ways:
  • the client When the tree is reported hierarchically, the client will receive all PSets and parameters, subject to the keyword and flag filters he has imposed. When it is reported 'flat', the client process receives a flat list of parameters without PSets or hierarchical arrangements noted.
  • the PSet data structure describes a simple but elegant manner of detailing the relationship of a child PSet to its parent PSet that can be advantageously employed in client processes such as animation and video editing applications without requiring internal knowledge of the data being displayed on the part of those clients

Abstract

The present invention provides for a data structure, implementable on a computer readable medium for specifying a parent Parameter Set (PSet) data structure stored thereon which includes a plurality of child Parameter Sets (PSets). Each of the PSet data structures includes a flag data element for determining the relationship between the child PSet and the parent PSet.

Description

THE PSET OBJECT-ORIENTED DATA STRUCTURE
RELATED APPLICATIONS
The present application is related to United States Patent Application entitled
"Taxonomy of Objects and a System of Non-Modal Property Inspectors", which was filed on April 4, 1997 and has common inventorship and the same assignee as the present invention, and is incorporated by reference herein.
FIELD OF THE INVENTION
The present invention relates particularly to a graphics imaging system for producing animation and more particularly to a graphics imaging system that includes a PSet data structure defining the relationship between a child PSet and its parent PSet hierarchies, which themselves may expose PSets, such as Inverse Kinematic chains.
BACKGROUND OF THE INVENTION
Computer systems for generating animation are used in the cinema and television industries. In these industries, animation is useful for generating entertainment multi-media and programs for professional purposes such as training materials. These applications are authored by an animator to produce the finished imaging work, which typically involves controlling specific objects through a sequence of scenes or settings to present a movement in the object during the time span.
The objects that are controlled by the animators are represented in the memory of the computer system through a collection of data constructs termed "PSet"s, which contains parameter values or pointers to parameter values for properties associated with the object. PSet representation of an object's structure is a protocol for object description supported by toolsets who wish to expose their data to public tools such as animation, the scene explorer, or other editors. A PSet is hierarchical in structure, and thus can contain other lower level PSets within it. For example, an object such as a "style" that defines the attributes of a brush stroke applied to a surface in a graphics session can be defined as a top-level PSet that includes lower level PSets such a "brush" and "fill effect" within it. These lower level PSets in this hierarchical structure are considered the children of the top level PSet, style. Whenever the top- level PSet "style" is referred to, a reference to the lower-level PSets, "brush" and "fill effect" is implicit. PSets can be generated as basic units that correspond to a specific object, and more complex PSets can thus be generated from these basic PSets.
Because PSets can be constructed from other PSets, it is typical for a basic PSet that implements a fundamental object such as a "brush" description to be included in a number of other higher-level PSets. A child PSet therefor has a defined relationship with its parent PSet in the hierarchical tree structure, which may be different for an individual PSet depending on the parent PSet. This relationship may be significant to a client process that operates on the PSet hierarchy. For example, a property editor for defining the properties associated with the PSet may need to understand if the child PSet is always included in the parent PSet or if an instance of the child PSet is optional.
In general, a client process may be dealing with the PSet at "arm's length" and inteφrets the PSet structure for some puφose that the author of a PSetmay have never contemplated. It would be desirable to provide standardized PSet flags to set forth a common language for descriptions.
In traversing a hierarchical chain of PSets structured in a parent/child relationship, it is thus beneficial to provide a mechanism for inspecting the relationship of a child PSet to its parent PSet in order for different client processes operating on the PSet to have knowledge of this relationship.
1 _ SUMMARY OF THE INVENTION
The present invention provides for a data structure, implementable on a computer readable medium for specifying a parent Parameter Set (PSet) data structure stored thereon which includes a plurality of child Parameter Sets (PSets). Each of the PSet data structures includes a flag data element for determining the relationship between the child PSet and the parent PSet.
In one aspect of the invention, the relationship between the child PSet and the parent PSet is that of a contained PSet in which the child PSet will always be present in the parent PSet.
In another aspect of the invention, the relationship between the child PSet and the parent PSet is that of a collected inherited PSet in which the child PSet is optionally present in the parent PSet which has been inherited from another object.
In a yet further aspect of the invention, the relationship between the child PSet and the parent PSet is that of a collected local PSet in which the child PSet is optionally present in the parent PSet which is specific to that object.
In a still further aspect of the invention, the relationship between the child PSet and the parent PSet is that of a collected local PSet in which the child PSet is optionally present in the parent PSet which is specific to that object.
In another aspect of the invention, the relationship between the parent PSet and the child PSet is that of an object PSet in which the parent PSet is the top-level of a distinct object. In a still further aspect of the invention, the relationship between the child PSet and the parent PSet is that of a port PSet in which the child PSet is connected to the parent via a port.
In a yet further aspect of the invention, a PSet is provided with a keyword corresponding to a specified property of the PSet
BRIEF DESCRIPTION OF THE DRAWINGS
A specific embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings in which:
FIG. 1 is a drawing of a computer system suitable for implementing a system for editing PSets, according to the present invention.
FIG. 2 depicts the hardware components of the computer system of FIG. 1 in further detail.
FIG. 3 depicts a hierarchy of PSets for two different objects.
FIG. 4 depicts a parent/child PSet relationship having a flag data structure, according to the present invention.
DETAILED DESCRIPTION
In the following discussion, the present invention is described for illustrative puφoses with reference to the editing of video information or 3D graphics. However, one of ordinary skill in the art will recognize that the invention, in it broadest aspect, is applicable to applications other than video applications, and it is not intended that the scope of the invention be so limited. For example, the present invention is also applicable to the editing of audio data, and to media data in general.
A computer graphics imaging system 10 is schematically depicted in FIG. 1 and FIG. 2. The graphics imaging system 10 includes a computer 1 1 that has a central processing unit (CPU) 12, a system bus 14, a static memory 16, a main memory 18, a mass memory 20, an alphanumeric input device 22, a pointer device 24 for manipulating a cursor and making selections of data, and a display adapter 26 for coupling control signals to a video display 28 such as a computer monitor. Since the graphics imaging system 10 is particularly suited to high resolution, high-speed graphics imaging the display or monitor 28 is most preferably a high-resolution wide screen display.
The CPU 12 executes imaging software described below to allow the system 10 to render high quality graphics images on the monitor 28. The CPU 12 comprises a suitable processing device such as a microprocessor, for example, and may comprise a plurality of suitable processing devices. The CPU 12 executes instructions stored in the static memory 16, main memory 18, and/or mass memory 20.
The static memory 16 may comprise read only memory (ROM) or any other suitable memory device. The static memory may store, for example, a boot program for execution by CPU 12 to initialize the graphics imaging system 10. The main memory 18 may comprise random access memory (RAM) or any other suitable memory device. The mass memory 20 may include a hard disk device, a floppy disk, an optical disk, a flash memory device, a CDROM, a file server device or any other suitable memory device. For this detailed description, the term memory comprises a single memory device and any combination of suitable devices for the storage of data and instructions.
- _> The system bus 14 provides for the transfer of digital information between the hardware devices of the graphics imaging system 10. The CPU 12 also receives data over the system bus 14 that is input by a user through alphanumeric input device 22 and/or the pointer device 24. The alphanumeric input device 22 may comprise a keyboard, for example, that comprises alphanumeric keys. The alphanumeric input device 22 may comprise other suitable keys such as function keys for example. The pointer device 24 may comprise a mouse, track-ball, and/or joystick, for example, for controlling the movement of a cursor displayed on the computer display 28.
The graphics imaging system 10 of FIG. 1 also includes display adapter hardware 26 that may be implemented as a circuit that interfaces with system bus 14 for facilitating rendering of images on the computer display 28. The display adapter hardware 26 may, for example, be implemented with a special graphics processor printed circuit board including dedicated random access memory that helps speed the rendering of high resolution, color images on a viewing screen of the display 28.
The display 28 may comprise a cathode ray tube (CRT) or a liquid crystal display particularly suited for displaying graphics on its viewing screen. The invention can be implemented using high-speed graphics workstations as well as personal computers having one or more high-speed processors.
The graphics imaging system 10 utilizes specialized graphics software particularly suited to take advantage of the imaging hardware included in the display system 10 depicted in FIG. 1 and FIG. 2. The software implements non-linear editing, compositing, audio mixing, and graphics design suites which are used to create multimedia presentations. Source material for use with such a system can be obtained from a media storage device 50 that can include videotape, film reel, and digitally recorded videodisks. The source material can also be in the form of previously digitized materials stored on a computer memory 20 such as computer generated animations, graphic images or video files stored on a large capacity hard or fixed disk storage device. To utilize the storage images from the media storage 50, the system 10 includes a multi-media interface 30 for converting image data into a form suitable for use by the software executing on CPU 12 and display adapter 26. A representative display by the graphics software presents multiple images 52 of different resolutions.
PSet Structure
An object is a self-contained collection of data structures and routines that interact with other objects. Every object can be defined to have a set of properties. A set of properties is a collection of parameters termed a "PSet" for Parameter Set that describe the object. Some objects are complex and have multiple property sets, while others are simple enough that each object would have only one property set.
For example, an image effect object has one property set describing blur amount, affected channels, etc. While a paint stroke has a number of properties, each of which describes a subgroup of properties about the stroke, namely, for example, brush, fill effect, edge effect, timing and transformations. Each property contains a set of parameters namely brush contains width, softness as well as other parameters. Fill effect might also consist of a stack of effects, each of which has its own properties.
PSet organization is disclosed in co-pending United States Patent Application entitled "Taxonomy of Objects and a System of Non-Modal Property Inspectors" which was filed on April 4, 1997 and is incoφorated by reference herein.
Referring now to FIG. 3, there is shown, in graphical form, two PSets, Stroke and Text. These PSets represent the Stroke object for applying a stroke to another object and the Text object for inserting textual material into an image. Both of these PSets are structured in a hierarchical manner such that the top-level PSet in each instance includes lower level PSets. A PSet is called a parent PSet if that PSet has a lower level PSet, termed a child PSet, directly under it in its hierarchy. In FIG. 3, Stroke is the parent PSet of two child PSets, namely Brush and Transform. Still considering the Stroke PSet shown in FIG. 3, the Brush PSet includes two parameters defining the properties of the Brush PSet, namely w for the width of the brush and h for the height. Similarly the Transform PSet has two parameters describing the coordinates of the Transformation. It is pointed out that both the Brush and Transform PSets could also be parents to lower level PSets.
As was discussed above, PSets can be structured in a hierarchical manner according to a parent/child relationship. Generally, the relationship between the parent PSet and the child PSet is dependent on the objects that they represent, and thus it is appropriate to maintain in the PSet data structure a flag mechanism that exposes this relationship so that a client process, such as a property editor, can easily determine the relationship. .
In one embodiment of the invention as shown in FIG. 4, the PSet data structure 400 includes a flag data structure 430 for identifying the relationship of a child PSet 420 to its parent PSet 410. The flag data structure 430 refers to the relationship from the perspective of the child PSet 420. The flag data structure may contain, for example, indications of the following relationships between the parent PSet 410 and the child PSet 420.
Figure imgf000009_0001
Figure imgf000009_0002
In one example of a hierarchical relationship flag, the following relationships may be exposed
Figure imgf000010_0001
For example, a 'shader' is a PSet describing how an object should be rendered. Simplistic example: the shader for this table looks like wood. A 'render pass' is a set of shaders applied to a 3D scene with the intent of 'turning off objects in the rendered output of the scene. An example: render nothing in this scene except for the shadow of this object, or render nothing in this scene except the specular highlight on this object. This is implemented by "superimposing" shaders that produce black on all objects in the scene except for, say, the specular highlight on the object. The table, when asked what color it is by the rendering engine, would report 'black' instead of 'wood-colored' .
Shaders in general are collected PSets, because objects don't have to have shaders attached to them.
The table object still knows that it is wood-colored; if asked, the collected local PSet would report 'wood'. However, when the renderer asks the object for a color, it sees the superimposed 'black' shader from the render pass, therefor a collected inherited PSet. Some PSets require inputs to operate. For example a revolve operator, which produces a geometry given an axis and a curve to revolve about that axis, has 'ports' for the axis and curve objects. Some client views would like to 'follow' the relationship to see these child objects, while other views would not. For example, the scene explorer might expose the axis as an input to the revolve operator, while a property editor showing the properties of the revolve would not expose the detail of the axis to the user as a property. The relationship is flagged between the PSets as a port connection so that client views can decide to follow or not follow this relationship to children PSets as needed.
It is noted that a top level PSet may also contain a flag data structure 430, and each time a PSet is made a child of another PSet, the parent PSet has the option to accept the default relationship exposed by the child or override the default published by the child with a new description.
In another embodiment of the invention, flag data structure 430 includes a keyword describing that child PSet in some manner. The keyword is in an unstructured format that is dependent on the individual PSet. This flag format is advantageous for filtering the display of this PSet within specific client processes, such as an animation editor.
In another embodiment of the invention, the flag data structure 430 include an indicator for determining if the PSet is to be displayed hierarchically or as a flat list.
A client process can ask to have the hierarchy of PSets reported in one of two ways:
• Flat
• Hierarchical
When the tree is reported hierarchically, the client will receive all PSets and parameters, subject to the keyword and flag filters he has imposed. When it is reported 'flat', the client process receives a flat list of parameters without PSets or hierarchical arrangements noted.
For example, in the following PSet with the following hierarchy:
Gradient Left
Red
Green
Blue Right
Red
Green
Blue
If 'flat' mode were chosen to be reported, the following parameters would be seen in the animation editor:
Gradient
Left.Red
Left.Green
Left.Blue
Right.Red
Right.Green
Right.Blue
It is thus seen that the PSet data structure, according to the present invention, describes a simple but elegant manner of detailing the relationship of a child PSet to its parent PSet that can be advantageously employed in client processes such as animation and video editing applications without requiring internal knowledge of the data being displayed on the part of those clients
Having described the invention, it should be apparent to those of ordinary skill in the art that the foregoing is illustrative and not limiting. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention as defined by the appended claims.

Claims

WE CLAIM:
1. A computer readable medium having a parent Parameter Set (PSet) data structure stored thereon, said PSet data structure including a plurality of child Parameter Sets (PSets), wherein each of said child PSet data structures includes a flag data element, determining the relationship between said child PSet and said parent PSet.
2. The computer readable medium of claim 1 wherein said relationship between said child PSet and said parent PSet is that of a contained PSet.
3. The computer readable medium of claim 1 wherein said relationship between said child PSet and said parent PSet is that of a collected inherited PSet.
4. The computer readable medium of claim 1 wherein said relationship between said child PSet and said parent PSet is that of a collected local PSet.
5. The computer readable medium of claim 1 wherein said relationship between said child PSet and said parent PSet is that of a port PSet.
6. The computer readable medium of claim 1 wherein keywords are associated with said child PSet.
7. A computer readable medium having a parent Parameter Set (PSet) data structure stored thereon, said PSet data structure including a plurality of child Parameter Sets (PSets), wherein said parent PSet data structure includes a flag data element identifying it as an object PSet.
PCT/US2000/021365 1999-08-06 2000-08-04 The pset object-oriented data structure WO2001011568A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU65202/00A AU6520200A (en) 1999-08-06 2000-08-04 The pset object-oriented data structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36968999A 1999-08-06 1999-08-06
US09/369,689 1999-08-06

Publications (1)

Publication Number Publication Date
WO2001011568A1 true WO2001011568A1 (en) 2001-02-15

Family

ID=23456493

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/021365 WO2001011568A1 (en) 1999-08-06 2000-08-04 The pset object-oriented data structure

Country Status (2)

Country Link
AU (1) AU6520200A (en)
WO (1) WO2001011568A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315709A (en) * 1990-12-03 1994-05-24 Bachman Information Systems, Inc. Method and apparatus for transforming objects in data models
WO1995012866A1 (en) * 1993-11-02 1995-05-11 Taligent, Inc. Object-oriented graphic system
EP0869456A2 (en) * 1997-04-04 1998-10-07 Microsoft Corporation Computer imaging using graphics components

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315709A (en) * 1990-12-03 1994-05-24 Bachman Information Systems, Inc. Method and apparatus for transforming objects in data models
WO1995012866A1 (en) * 1993-11-02 1995-05-11 Taligent, Inc. Object-oriented graphic system
EP0869456A2 (en) * 1997-04-04 1998-10-07 Microsoft Corporation Computer imaging using graphics components

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GOODMAN A M ET AL: "KNOWLEDGE-BASED COMPUTER VISION INTEGRATED PROGRAMMING LANGUAGE AND DATA MANAGEMENT SYSTEM DESIGN", COMPUTER,US,IEEE COMPUTER SOCIETY, LONG BEACH., CA, US, vol. 22, no. 12, 1 December 1989 (1989-12-01), pages 43 - 54, XP000086458, ISSN: 0018-9162 *
MOHAN L ET AL: "AN OBJECT-ORIENTED KNOWLEDGE REPRESENTATION FOR SPATIAL INFORMATION", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING,US,IEEE INC. NEW YORK, vol. 14, no. 5, 1 May 1988 (1988-05-01), pages 675 - 681, XP000031811, ISSN: 0098-5589 *
PLOMP J: "AN OBJECT ORIENTED REPRESESNTATIONAL SYSTEM FOR IMAGE FEATURES AND THEIR RELATIONS", PROCEEDINGS IAPR INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION, 30 August 1992 (1992-08-30), XP000574330 *

Also Published As

Publication number Publication date
AU6520200A (en) 2001-03-05

Similar Documents

Publication Publication Date Title
US6167404A (en) Multimedia plug-in using dynamic objects
US7290216B1 (en) Method and apparatus for implementing a scene-graph-aware user interface manager
US6266053B1 (en) Time inheritance scene graph for representation of media content
EP0702331A2 (en) Displaying node-link structure with region of greater spacings and peripheral branches
CA2618862C (en) Extensible visual effects on active content in user interfaces
US7669129B2 (en) Graphical user interface for providing editing of transform hierarchies within an effects tree
CN101421761A (en) Visual and scene graph interfaces
WO1995008147A1 (en) Object-oriented audio record/playback system
JP2006079638A (en) Three-dimensional graphics rendering system
EP0822499B1 (en) Sequential process event system analyzer tool
Mroz et al. RTVR-a flexible java library for interactive volume rendering
Bennett et al. Proscenium: a framework for spatio-temporal video editing
WO2001011568A1 (en) The pset object-oriented data structure
Akaishi et al. Time-tunnel: Visual analysis tool for time-series numerical data and its aspects as multimedia presentation tool
Hipke et al. Vega-A user-centered approach to the distributed visualization of geometric algorithms
US6466214B1 (en) Marking parameters for animation
Gobbetti et al. i3D: An interactive system for exploring annotated 3D environments
WO2001011465A2 (en) Property editor with child property sets
Isenberg et al. G-strokes: A concept for simplifying line stylization
Mosmondor et al. 3D Visualization on mobile devices
WO1995034051A1 (en) Method and apparatus for capturing and distributing graphical data
Follin The essentials of scientific visualization: Basic techniques and common problems
Neo et al. A Web-based system for interactive visualization of scientific concepts
Harrison The Use of High-Performance Graphics Workstations for Surface Science
Bancroft et al. Software directions for scientific visualization

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP