Method and apparatus for representing and editing multimedia compositions using references to tracks in the composition to define components of the composition
First Claim
1. A computer-readable medium containing computer-readable logic defining a data structure stored thereon for representing a multimedia composition and for access by an application program being executed on a data processing system, the data structure comprising:
- a first track group of a plurality of tracks of the multimedia composition, wherein each track is defined as a sequence of components sequentially related in time, wherein each component is associated with content defined by one or more temporal samples of media data and wherein all tracks are displayed concurrently beginning at a common time; and
wherein content of a selected component of the sequence of components defining one track of the plurality of tracks in the first track group is defined by a track reference, wherein the track reference has a time value with reference to the common time and an indication of another track of the plurality of tracks in the track group and a duration starting from the specified time, wherein the specified time and the duration are used by the application program to identify one or more components in the other track, wherein the content associated with the identified components is used to define the content of the selected component.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for editing and representing multimedia compositions in which the representation of a composition enables a composition to be an arbitrarily deep nesting of assemblies of components. In this representation, relationships between synchronous components may be represented, by an array or list. Components which are related sequentially in time are represented by a sequence component, which may be implemented as a tree. For the purpose of improving searching within the tree, a sequence component is implemented as a balanced binary, or 2-3-tree. By using such a representation, searching for a component based on its position in time in the sequence may be performed in logarithmic rather than linear time. Each node in the tree has a corresponding duration, which represents the sum of the durations of any subnodes. Media data for a composition is excluded from the representational structures and is merely referred to by such structures. Thus, compositions may be stored separately from the media data.
-
Citations
7 Claims
-
1. A computer-readable medium containing computer-readable logic defining a data structure stored thereon for representing a multimedia composition and for access by an application program being executed on a data processing system, the data structure comprising:
-
a first track group of a plurality of tracks of the multimedia composition, wherein each track is defined as a sequence of components sequentially related in time, wherein each component is associated with content defined by one or more temporal samples of media data and wherein all tracks are displayed concurrently beginning at a common time; and wherein content of a selected component of the sequence of components defining one track of the plurality of tracks in the first track group is defined by a track reference, wherein the track reference has a time value with reference to the common time and an indication of another track of the plurality of tracks in the track group and a duration starting from the specified time, wherein the specified time and the duration are used by the application program to identify one or more components in the other track, wherein the content associated with the identified components is used to define the content of the selected component. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An object-oriented system for representing a multimedia program for implementation on a computer in an object-oriented framework;
- comprising;
(a) an abstract component class; (b) a track group class derived from the abstract component class and defining a first subclass of the abstract component class, wherein a track group object, an instance of the track group class, comprises; a collection of objects in the abstract component class; and a display method for displaying the collection of objects concurrently starting from a common time; (c) a track reference class derived from the abstract component class and defining a second subclass of the component class, wherein a track reference object, an instance of the track reference class, comprises; a reference to a time value with respect to the common time and a specified one of the objects in the collection of objects in the track group object and a duration, wherein another one of the objects in the collection of objects contains the track reference object; and a display method for displaying the track reference object by identifying one or more objects in the specified object in the collection of objects in the track group object corresponding to the time value and duration of the track reference object and accessing and displaying media data associated with the identified object.
- comprising;
-
7. A computer system for editing a multimedia composition, comprising:
-
means for permitting an editor to create an instance of a track group object including a collection of references to tracks defined by components having associated media data, wherein the tracks in the track group object are displayed concurrently starting at a common time; means for permitting an editor to create an instance of a track reference object as one component in a track in the track group object including a reference to another component in the track group object including a time value with respect to the common time and a duration, wherein the track reference object is in a different track in the track group than the other component; and means for displaying the track reference object by identifying the other component in the track group object specified by the track reference object and corresponding to the time value and duration of the track reference object, and for displaying the media data associated with the other component.
-
Specification