Methods and systems for managing multiple inputs and methods and systems for processing media content
First Claim
1. A method of managing multiple inputs that can contend for a single output comprising:
- providing a matrix switch object that can process multiple inputs and provide one or more outputs, one of the outputs comprising a primary output for which contention can take place between the multiple inputs,; and
programming the matrix switch object using a data structure, said programming resolving contention between the multiple inputs for the primary output.
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.
-
Citations
81 Claims
-
1. A method of managing multiple inputs that can contend for a single output comprising:
-
providing a matrix switch object that can process multiple inputs and provide one or more outputs, one of the outputs comprising a primary output for which contention can take place between the multiple inputs,; and
programming the matrix switch object using a data structure, said programming resolving contention between the multiple inputs for the primary output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of managing multiple inputs that can compete for a single output comprising:
-
defining a software-implemented matrix switch having multiple input pins and multiple output pins, the input pins being individually associated with inputs that can compete, during a common time period, for a particular output pin that is associated with the matrix switch; and
programming the matrix switch using a data structure, said programming providing a routing scheme for routing input pins to output pins such that at any given time, only one input pin is routed to the particular output pin. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
-
18. 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.
-
-
38. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer, cause the computer to:
-
define a multimedia editing project responsive to input received from a user;
represent the editing project as a hierarchical tree structure;
process the hierarchical tree structure to provide a grid 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 grid structure; and
use the grid structure to program routing of the matrix switch'"'"'s inputs to the matrix switch'"'"'s outputs for the given time line.
-
-
49. 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.
-
-
60. A data stream processing method comprising:
-
receiving at least one digital data stream using a software-implemented matrix switch having a primary output and at least one other output;
routing said at least one digital data stream to said at least one other output;
outputting said at least one digital data stream at said at least one other output;
processing said at least one digital data stream to provide a different digital data stream;
inputting the different digital data stream into the matrix switch; and
routing the input different digital data stream to the matrix switch'"'"'s primary output. - View Dependent Claims (61, 62, 63, 64, 65, 66, 67, 68, 69)
-
-
70. A data stream processing method comprising:
-
receiving at least one digital data stream using a software-implemented matrix switch object, the matrix switch object being configured to receive one or more digital data streams and output at least one digital data stream, individual digital data streams comprising portions of a user-defined multi-media editing project comprising one or more of video data streams and audio data streams;
outputting, from the matrix switch object, at least one digital data stream;
receiving, with another object, the output digital data stream;
processing the received digital data stream to provide a different digital data stream;
receiving the different digital data stream with the matrix switch object; and
outputting the received different digital data stream as a primary output stream that represents the user-defined multi-media editing project.
-
-
71. An input-managing system comprising:
-
a software-implemented matrix switch having multiple input pins and multiple output pins, the input pins being individually associated with inputs that can compete, during a common time period, for a particular output pin that is associated with the matrix switch; and
a data structure associated with the matrix switch and configured for use in programming the matrix switch to provide a routing scheme for routing input pins to output pins such that at any given time, only one input pin is routed to the particular output pin. - View Dependent Claims (72, 73, 74, 75, 76, 77)
-
-
78. An input-managing system comprising:
-
a software-implemented matrix switch object configured to process multiple inputs and provide one or more outputs, one of the outputs comprising a primary output for which contention can take place between the multiple inputs; and
a data structure associated with the matrix switch object and configured for use in programming the matrix switch object to resolve contention issues between the multiple inputs.
-
-
79. A multimedia system comprising:
-
an application program configured to enable a user to define a multi-media project in which multiple digital source streams can be combined;
a software-implemented matrix switch having multiple input pins and multiple output pins, the input pins being individually associated with inputs that can compete, during a common time period, for a particular output pin that is associated with the matrix switch, the switch being configured to receive, at its input pins, digital source streams;
a first data structure associated with the matrix switch and configured for use in programming the matrix switch to provide a routing scheme for routing input pins to output pins such that at any given time, only one input pin is routed to the particular output pin; and
a second data structure associated with and different from the first data structure, the second data structure representing a user-defined multi-media project and being configured so that the first data structure can be derived therefrom.
-
- 80. The multi-media system of claim 80, wherein the first data structure comprises a grid structure.
Specification