Method and apparatus for representing and editing multimedia compositions using a tree structure
First Claim
1. A computer system for representing a multimedia composition, comprising:
- means for defining a component by reference to a plurality of samples of media data at a temporal sampling resolution;
means for defining a sequence as an ordered collection of components, wherein the components occur sequentially in the multimedia composition, wherein the ordered collection is ordered using a search tree, wherein the search tree has a root node with a key indicative of the total duration of the sequence and nodes including subnodes of the root node and subnodes of other nodes, wherein each node has a key indicative of the total duration of any subnodes of the node and leaves, wherein the leaves of the search tree are the components in the sequence; and
means for defining the multimedia composition as a collection of sequences, wherein the sequences occur concurrently in the multimedia composition.
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
24 Claims
-
1. A computer system for representing a multimedia composition, comprising:
-
means for defining a component by reference to a plurality of samples of media data at a temporal sampling resolution; means for defining a sequence as an ordered collection of components, wherein the components occur sequentially in the multimedia composition, wherein the ordered collection is ordered using a search tree, wherein the search tree has a root node with a key indicative of the total duration of the sequence and nodes including subnodes of the root node and subnodes of other nodes, wherein each node has a key indicative of the total duration of any subnodes of the node and leaves, wherein the leaves of the search tree are the components in the sequence; and means for defining the multimedia composition as a collection of sequences, wherein the sequences occur concurrently in the multimedia composition. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for representing a sequence in a multimedia composition containing a plurality of components defined by reference to a plurality of samples of media data at a temporal sampling resolution, comprising the steps of:
-
selecting a first sequence of a plurality of components to be presented sequentially in the multimedia composition; determining a total duration for each group of sequentially adjacent components and iteratively determining total durations for groups of the groups; and
storing an indication of the first sequence, including storing an indication of a search tree having leaves indicative of the components, nodes representing the groups of sequentially adjacent components and groups of groups, each node having a key defined by the total duration of group represented by the node and a root node representing the sequence and having a key defined by the total duration of the sequence.
-
-
19. A computer system for manipulating a representation of a multimedia composition containing a sequence of components, comprising:
-
a computer-readable medium; digital logic stored on the computer-readable medium and defining a representation using an indication of a tree having a plurality of leaves, wherein each leaf of the plurality of leaves of the tree represent components to be placed in the composition and each having a duration, and wherein the tree relating the components has a plurality of nodes, each node having a plurality of subnodes, and wherein each node stores a value indicative of a total duration of all subnodes and leaves oft he node, whereby a root node stores a value indicative of a total duration of the sequence; and means for locating a component at a desired temporal position within the sequence, including; means for iteratively comparing the desired temporal position to the indication of the duration stored for a current node of the tree representing the sequence wherein the current node and a located node are initially the root node; means, operative when the duration stored for the current node is less than the desired temporal position, for subtracting the duration from the desired temporal position to obtain a new desired temporal position and selecting a next subnode of the located node and adjacent to the current node as the current node; and means, operative when the duration stored for the current node is greater than the desired temporal position, for identifying the current node as the located node and for selecting any first subnode of the located node as the current node.
-
-
20. A digital information product defining a multimedia composition comprising a sequence of components, comprising:
-
a computer-readable medium; and digital logic, stored on the computer-readable medium and defining a representation of the sequence using an indication of a tree having a plurality of leaves, wherein each leaf of the plurality of leaves of the tree represent components to be placed in the sequence and each having a duration, and wherein the tree relating the components has a plurality of nodes, each node having a plurality of subnodes, and wherein each node stores a value indicative of a total duration of all subnodes and leaves of the node, whereby a root node stores a value indicative of a total duration of the sequence.
-
-
21. A computer-implemented method locating a component at a desired temporal position within a sequence in a multimedia composition, wherein the sequence is defined by digital logic stored on a computer-readable medium and defining an indication of a tree having a plurality of leaves, wherein each leaf of the plurality of leaves of the tree represent components to be placed in the composition and each having a duration, and wherein the tree relating the components has a plurality of nodes, each node having a plurality of subnodes, and wherein each node stores a value indicative of a total duration of all subnodes and leaves of the node, whereby a root node stores a value indicative of a total duration of the sequence, the method comprising the steps of:
-
iteratively comparing the desired temporal position to the indication of the duration stored for a current node of the tree representing the sequence wherein the current node and a located node are initially the root node; when the duration stored for the current node is less than the desired temporal position, subtracting the duration from the desired temporal position to obtain a new desired temporal position and selecting a next subnode of the located node and adjacent to the current node as the current node; and when the duration stored for the current node is greater than the desired temporal position, identifying the current node as the located node and for selecting any first subnode of the located node as the current node.
-
-
22. An object-oriented system for representing a multimedia composition for implementation on a computer in an object-oriented framework, comprising:
-
(a) an abstract component class; (b) a sequence class derived from the abstract component class and defining a first subclass of the component class, wherein a sequence object, an instance of the sequence class, comprises; a collection of objects in the component class ordered using a search tree, wherein the search tree has a root node with a key indicative of the total duration of the sequence and nodes including subnodes of the root node and subnodes of other nodes, wherein each node has a key indicative of the total duration of any subnodes of the node and leaves, wherein the leaves of the search tree are the components in the sequence; and a display method for displaying the collection of component objects continuously and sequentially; and (c) a source clip class derived from the abstract component class and defining a second 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 range within the source of media data; and a display method for accessing the media data from the source according to the range and for displaying the media data. - View Dependent Claims (7, 23, 24)
-
Specification