Method and apparatus for representing and editing multimedia compositions using recursively defined components
First Claim
1. A computer-readable medium having computer-readable logic stored therein defining a data structure for representing a multimedia composition using recursively defined instances of components of a plurality of kinds and for access by an application program being executed on a data processing system, wherein a first kind of component defines a sequence of instances of components of any kind to be displayed continuously and sequentially, wherein a second kind of component defines a source of media data defined by a plurality of samples at a temporal sampling resolution, and wherein a third kind of component defines a group of instances of components of any kind to be displayed concurrently, the data structure, comprising:
- means for defining the multimedia composition as a group of concurrent components using the third kind of component;
means for defining one of the concurrent components as a sequence of components using the first kind of component;
means for defining one of the components in the sequence of components using the first kind of component;
means for defining another one of the components in the sequence of components using the second kind of component; and
means for defining a different one of the components in the sequence of components using the third kind of 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.
113 Citations
8 Claims
-
1. A computer-readable medium having computer-readable logic stored therein defining a data structure for representing a multimedia composition using recursively defined instances of components of a plurality of kinds and for access by an application program being executed on a data processing system, wherein a first kind of component defines a sequence of instances of components of any kind to be displayed continuously and sequentially, wherein a second kind of component defines a source of media data defined by a plurality of samples at a temporal sampling resolution, and wherein a third kind of component defines a group of instances of components of any kind to be displayed concurrently, the data structure, comprising:
-
means for defining the multimedia composition as a group of concurrent components using the third kind of component; means for defining one of the concurrent components as a sequence of components using the first kind of component; means for defining one of the components in the sequence of components using the first kind of component; means for defining another one of the components in the sequence of components using the second kind of component; and means for defining a different one of the components in the sequence of components using the third kind of component. - View Dependent Claims (2, 3)
-
-
4. 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 component class, wherein a track group object, an instance of the track group class, comprises; a collection of objects in the component class; and a display method for displaying the collection of component objects concurrently; (c) a sequence class derived from the abstract component class and defining a second subclass of the component class, wherein a sequence object, an instance of the sequence class, comprises; a collection of objects in the component class; and a display method for displaying the collection of component objects continuously and sequentially; and (d) a source clip class derived from the abstract component class and defining a third subclass of the abstract component class, wherein a source clip object, an instance of the source clip class, comprises; an indication of a source of media data; and a display method for accessing the media data from the source and for displaying the media data. - View Dependent Claims (5, 6, 7)
-
-
8. A computer system for editing a multimedia composition, comprising:
-
means for permitting an editor to create an instance of a track group object in a first subclass of a component object class including a collection of references to objects in the component object class, wherein the objects in the collection of references are displayed concurrently; means for permitting an editor to create an instance of a sequence object in a second subclass of the component object class including a collection of references to objects in the component object class, wherein the objects in the collection of references are displayed sequentially and continuously; means for permitting an editor to create an instance of a clip object in a third subclass of the component object class including a reference to a source of media data; and means for permitting a user to complete the references to objects in the component object class in instances of track group objects and sequence objects using references to instances of track group objects, sequence objects and clip objects.
-
Specification