Methods and systems for managing multiple inputs and methods and systems for processing media content
First Claim
1. A multi-media editing method comprising:
- defining a first data structure that represents a user-defined multi-media editing project;
providing a software-implemented matrix switch that is programmable to route multiple switch inputs to multiple switch outputs, at least two of the inputs being capable of competing for a single output during a common time period, the single output being configured to provide a data stream defined by the multi-media editing project;
processing the first data structure to provide a second data structure that contains data that can be used to program the matrix switch so that multiple switch inputs are routed to multiple switch outputs; and
operating on the second data structure so that no two inputs are routed to said single output during a common time period, wherein said providing of the software-implemented matrix switch comprises providing a switch having virtual input pins and virtual output pins, the virtual input pins being configured to receive individual data streams, the virtual output pins being configured to provide individual data streams.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for managing multiple inputs that are capable of competing or contending for a particular or primary output are described. In one embodiment, the multiple inputs are managed through the use of a software-implemented matrix switch object, and an associated data structure that is used to program the switch object and resolve contention issues between the inputs. The matrix switch object can process the multiple inputs to provide a primary output. One implementation of the switch object uses virtual input and output pins to receive and provide data streams. One specific embodiment is used in connection with multi-media editing software that enables users build or define their own editing multi-media editing projects that incorporate multiple different user-selected clips, in the form of digital data streams, into an integrated project. Each clip can be defined in terms of one or more digital data streams, e.g. video and audio streams. One implementation method defines a first data structure that represents an editing project and processes the data structure to provide a second data structure that contains data that can be used to program the matrix switch object so that multiple switch inputs are routed to multiple switch outputs and contentions between the inputs for a primary output are resolved.
165 Citations
6 Claims
-
1. A multi-media editing method comprising:
-
defining a first data structure that represents a user-defined multi-media editing project;
providing a software-implemented matrix switch that is programmable to route multiple switch inputs to multiple switch outputs, at least two of the inputs being capable of competing for a single output during a common time period, the single output being configured to provide a data stream defined by the multi-media editing project;
processing the first data structure to provide a second data structure that contains data that can be used to program the matrix switch so that multiple switch inputs are routed to multiple switch outputs; and
operating on the second data structure so that no two inputs are routed to said single output during a common time period, wherein said providing of the software-implemented matrix switch comprises providing a switch having virtual input pins and virtual output pins, the virtual input pins being configured to receive individual data streams, the virtual output pins being configured to provide individual data streams.
-
-
2. A multi-media editing method comprising:
-
defining a first data structure that represents a user-defined multi-media editing project;
providing a software-implemented matrix switch that is programmable to route multiple switch inputs to multiple switch outputs, at least two of the inputs being capable of competing for a single output during a common time period, the single output being configured to provide a data stream defined by the multi-media editing project;
processing the first data structure to provide a second data structure that contains data that can be used to program the matrix switch so that multiple switch inputs are routed to multiple switch outputs; and
operating on the second data structure so that no two inputs are routed to said single output during a common time period, wherein said processing of the first data structure comprises providing at least one object configured to receive at least one output stream from the matrix switch, process the output stream to provide an input stream, and provide the input stream to an input of the switch, and wherein said object comprises a mix object that is configured to mix multiple audio or video source streams.
-
-
3. A multi-media editing method comprising:
-
defining a first data structure that represents a user-defined multi-media editing project;
providing a software-implemented matrix switch that is programmable to route multiple switch inputs to multiple switch outputs, at least two of the inputs being capable of competing for a single output during a common time period, the single output being configured to provide a data stream defined by the multi-media editing project;
processing the first data structure to provide a second data structure that contains data that can be used to program the matrix switch so that multiple switch inputs are routed to multiple switch outputs;
operating on the second data structure so that no two inputs are routed to said single output during a common time period, wherein said processing of the first data structure comprises configuring the matrix switch so that it receives multiple source streams at multiple respective inputs at multiple times, wherein said configuring comprises building one or more filter graphs that are individually configured to process digital data to provide multiple respective source streams, and associating one or more filter graphs with individual inputs of the matrix switch; and
building multiple sub-graphs inside one or more of the filter graphs.
-
-
4. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer, cause the computer to:
-
represent a multi-media editing project as a first data structure;
process the first data structure to provide a second data structure containing data that defines an association between inputs, outputs and a time line defined by the editing project;
provide a matrix switch having multiple inputs and multiple outputs that correspond to the respective inputs and outputs of the second data structure; and
use the second data structure to program routing of the matrix switch'"'"'s inputs to the matrix switch'"'"'s outputs for the given time line, wherein the second data structure comprises a grid structure, and wherein the instructions that cause the computer to process the first data structure to provide the second data structure cause the computer to;
define a grid row for each of a number of data stream sources;
enter data values in each grid row, the data values being associated with a time period for which the data stream source desires to be routed to a primary output of the matrix switch; and
change at least one data value in at least a portion of a grid row if a determination is made that another grid row has an entry that indicates that its associated data stream source desires to be routed to the primary output of the matrix switch at the same time. - View Dependent Claims (5, 6)
-
Specification