Methods and systems for efficiently processing compressed and uncompressed media content
First Claim
1. A multi-media editing system comprising:
- a first software-implemented matrix switch comprising one or more first input pins and one or more first output pins, the one or more first input pins being routable to the one or more first output pins, the first matrix switch being configured to process one or more uncompressed data streams and output an uncompressed output data stream;
a second software-implemented matrix switch comprising one or more second input pins and one or more second output pins, the one or more second input pins being routable to the one or more second output pins, the second matrix switch being configured to process one or more compressed data streams and output a compressed output data stream; and
a third software-implemented matrix switch comprising multiple third input pins and multiple third output pins, the multiple third input pins being routable to the multiple third output pins, the third matrix switch being configured to receive the uncompressed output data stream from the first switch and the compressed output data stream from the second switch and process the uncompressed output and the compressed output streams to provide a single compressed output data stream that represents a user-defined multi-media editing project in which a user can construct said editing project by operating one or more sources of multimedia content that provide said one or more uncompressed and said one or more compressed data streams,wherein at least one of said first, second and third matrix switches comprises a scalable plurality of said first, second and third input pins and a scalable plurality of said first, second and third output pins, wherein individual input pins of said scalable plurality of said first, second and third input pins can be iteratively coupled to individual output pins of said scalable plurality of said first, second and third output pins based at least in part on the user'"'"'s operation on said one or more sources of multimedia content;
a software-implemented compressor element coupled with the third switch and configured to receive and compress the output uncompressed stream into a second compressed output data stream; and
a feedback path between the compressor element and an input pin of the third switch configured to provide the second compressed output data stream to the third switch'"'"'s input pin.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are described that permit efficient processing of user-defined multi-media editing projects that combine multiple different source data streams into a single compressed data stream that represents the project. The described approaches are directed to ensuring that those compressed source data stream portions that need to be uncompressed for processing are uncompressed and processed, while those compressed source data stream portions that do not need to be uncompressed are not uncompressed. In one embodiment, a unique switch assembly is provided comprising one or more switches each of which being configured to process data streams. The switch assembly is configured to process both compressed and uncompressed data streams to provide the single compressed output data stream. In one embodiment, three software-implemented switches are provided—one for handling uncompressed source data streams, one for handling compressed source data streams, and one for processing the output of the first two switches to provide the single compressed data stream.
116 Citations
20 Claims
-
1. A multi-media editing system comprising:
-
a first software-implemented matrix switch comprising one or more first input pins and one or more first output pins, the one or more first input pins being routable to the one or more first output pins, the first matrix switch being configured to process one or more uncompressed data streams and output an uncompressed output data stream; a second software-implemented matrix switch comprising one or more second input pins and one or more second output pins, the one or more second input pins being routable to the one or more second output pins, the second matrix switch being configured to process one or more compressed data streams and output a compressed output data stream; and a third software-implemented matrix switch comprising multiple third input pins and multiple third output pins, the multiple third input pins being routable to the multiple third output pins, the third matrix switch being configured to receive the uncompressed output data stream from the first switch and the compressed output data stream from the second switch and process the uncompressed output and the compressed output streams to provide a single compressed output data stream that represents a user-defined multi-media editing project in which a user can construct said editing project by operating one or more sources of multimedia content that provide said one or more uncompressed and said one or more compressed data streams, wherein at least one of said first, second and third matrix switches comprises a scalable plurality of said first, second and third input pins and a scalable plurality of said first, second and third output pins, wherein individual input pins of said scalable plurality of said first, second and third input pins can be iteratively coupled to individual output pins of said scalable plurality of said first, second and third output pins based at least in part on the user'"'"'s operation on said one or more sources of multimedia content; a software-implemented compressor element coupled with the third switch and configured to receive and compress the output uncompressed stream into a second compressed output data stream; and a feedback path between the compressor element and an input pin of the third switch configured to provide the second compressed output data stream to the third switch'"'"'s input pin. - View Dependent Claims (2)
-
-
3. A multi-media editing system comprising:
-
a first software-implemented matrix switch comprising one or more first input pins and one or more first output pins, the one or more first input pins being routable to the one or more first output pins, the first matrix switch being configured to process one or more uncompressed data streams and output an uncompressed output data stream; a second software-implemented matrix switch comprising one or more second input pins and one or more second output pins, the one or more second input pins being routable to the one or more second output pins, the second matrix switch being configured to process one or more compressed data streams and output a compressed output data stream; a third software-implemented matrix switch comprising multiple third input pins and multiple third output pins, the multiple third input pins being routable to one or more of the multiple third output pins, the third matrix switch being configured to receive the uncompressed output data stream from the first switch and the compressed output data stream from the second switch and process the uncompressed output and compressed output streams to provide a single compressed output data stream that represents a user-defined multi-media editing project in which a user can construct said editing project by operating on one or more sources of multimedia content that provide said one or more uncompressed and said one or more compressed data streams; one or more data structures associated with at least some of the first, second, and third matrix switches and configured for use in programming the associated first, second, and third switches to provide a routing scheme for routing said first, second, and third input pins to said first, second, and third output pins, wherein at least one of said first, second and third matrix switches comprises a scalable plurality of said first, second and third input pins and a scalable plurality of said first, second and third output pins, wherein individual input pins of said scalable plurality of said first, second and third input pins can be iteratively coupled to individual output pins of said scalable plurality of said first, second and third output pins based, at least in part, on the user'"'"'s operation on said one or more sources of multimedia content; a software-implemented compressor element coupled with the third software-implemented matrix switch and configured to receive and compress the uncompressed output stream into a second compressed output data stream; and a feedback path between the compressor element and an input pin of the third software-implemented matrix switch configured to provide the second compressed output data stream to the third software-implemented matrix switch'"'"'s input pin. - View Dependent Claims (4, 5, 6)
-
-
7. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer, cause the computer to:
provide a switch assembly comprising multiple software-implemented matrix switches, individual matrix switches comprising one or more input pins and one or more output pins, the one or more input pins being routable to the one or more output pins, the switch assembly comprising; a first switch configured to process uncompressed data streams to provide an uncompressed output data stream; a second switch configured to process compressed data streams to provide a compressed output data stream; and a third switch configured to receive both the uncompressed and compressed output data streams and process the uncompressed and compressed output data streams to provide a single compressed output data stream that represents a user-defined multi-media editing project in which a user can construct said editing project by operating on one or more sources of multimedia content that provide said uncompressed and said compressed data streams, wherein at least one of said first, second and third matrix switches comprises a scalable plurality of said input pins and a scalable plurality of said output pins, wherein individual input pins of said scalable plurality of input pins can be iteratively coupled to individual output pins of said scalable plurality of output pins based, at least in part, on the user'"'"'s operation on said one or more sources of multimedia content; a software-implemented compressor element coupled with the third switch and configured to receive and compress the uncompressed output data stream into a second compressed output data stream; a feedback path between the compressor element and an input pin of the third switch configured to provide the second compressed output data stream to the third switch'"'"'s input pin; and program the switch assembly by defining a first grid structure containing data that defines an association between the first switch'"'"'s input pins, at least one output pin and a time line defined by the editing project, and defining a second grid structure containing data that defines an association between the second switch'"'"'s input pins, at least one output pin and the time line defined by the editing project. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. A multi-media editing method comprising:
-
providing a first software-implemented matrix switch comprising one or more first input pins and one or more first output pins, the one or more first input pins being routable to the one or more first output pins, the first matrix switch being configured to process one or more uncompressed data streams and output an uncompressed output data stream; providing a second software-implemented matrix switch comprising one or more second input pins and one or more second output pins, the one or more second input pins being routable to the one or more second output pins, the second matrix switch being configured to process one or more compressed data streams and output a compressed output data stream; providing a third software-implemented matrix switch comprising multiple third input pins and multiple third output pins, the multiple third input pins being routable to one or more of the multiple third output pins wherein at least one of said first, second and third software-implemented matrix switches comprises a scalable plurality of said first, second and third input pins and a scalable plurality of said first, second and third output pins, wherein individual input pins of said scalable plurality of said first, second and third input pins can be iteratively coupled to individual output pins of said scalable plurality of said first, second and third output pins based, at least in part, on the user'"'"'s operation on said one or more sources of multimedia content; receiving, with the third matrix switch, the uncompressed output data stream from the first switch and the compressed output data stream from the second switch; processing the received uncompressed output and compressed output data streams with the third switch to provide a single compressed output data stream that represents a user-defined multi-media editing project in which a user can construct said editing project by operating on one or more sources of multimedia content that provide said one or more uncompressed data streams and said one or more compressed data streams data streams, wherein said processing the received uncompressed output data stream comprises; compressing the uncompressed data stream received from the first switch using a software-implemented compressor element coupled with the third switch; and routing the compressed data stream that was compressed by the compressor element to an input pin of the third switch. - View Dependent Claims (14)
-
-
15. One or more computer-readable media having computer-readable instructions thereon which, when executed by a computer, cause the computer to:
-
receive and process one or more uncompressed data streams with a first software-implemented matrix switch comprising one or more first input pins and one or more first output pins, the one or more first input pins being routable to the one or more first output pins to output an uncompressed output data stream; receive and process one or more compressed data streams with a second software-implemented matrix switch comprising one or more second input pins and one or more second output pins, the one or more second input pins being routable to the one or more second output pins to output a compressed output data stream; receive and process the uncompressed output data stream that is output by the first switch and the compressed output data stream that is output by the second switch with a third software-implemented matrix switch comprising multiple third input pins individual ones of which receive data streams, and one or more third output pins individual ones of which provide data streams, the one or more multiple third input pins being routable to the one or more multiple third output pins to output, at one output pin, a compressed data stream that represents a user-defined multi-media editing project in which a user can construct said editing project by operating on one or more sources of multimedia content that provide said one or more uncompressed data streams and said one or more compressed data streams, wherein at least one of said first, second and third matrix switches comprises a scalable plurality of said first, second and third input pins and a scalable plurality of said first, second and third output pins, wherein individual input pins of said scalable plurality of said first, second and third input pins can be iteratively coupled to individual output pins of said scalable plurality of said first, second and third output pins based, at least in part, on the user'"'"'s operation on said one or more sources of multimedia content, wherein processing the uncompressed output data stream that is output by the first switch comprises; compressing the uncompressed output data stream using the third switch; provide the second compressed output data stream to the third software-implemented matrix switch'"'"'s input pin. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification