System and related methods for reducing memory requirements of a media processing system
First Claim
Patent Images
1. A computer-implemented method of generating a development project including at least a matrix switch and one or more adjacent objects, the method comprising:
- establishing an initial rendering of the development project; and
negotiating buffer size and attribute characteristics between an input/output of the matrix switch and an input/output of adjacent objects, wherein the negotiated buffers are utilized to communicate media content between the matrix switch and adjacent buffers by sharing a common buffer between inputs and outputs;
wherein the matrix switch attempts to be an allocator for buffers shared with each of its input(s) and output(s),wherein if the matrix switch cannot be an allocator for one or more of its input(s) or output(s), such input(s) and output(s) do not share a common buffer with objects coupled thereto, andwherein the development project is a media processing project rendered as a filter graph of processing chains.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of generating a development project including at least a matrix switch and one or more adjacent objects is presented comprising establishing an initial rendering of the development project, and negotiating buffer size and attributes between an input/output coupling the matrix switch to an input/output of the adjacent objects, wherein the negotiated buffer is utilized to communicate information between the input/output of the matrix switch and the input/output of the adjacent object by sharing information via the shared buffer.
-
Citations
17 Claims
-
1. A computer-implemented method of generating a development project including at least a matrix switch and one or more adjacent objects, the method comprising:
-
establishing an initial rendering of the development project; and negotiating buffer size and attribute characteristics between an input/output of the matrix switch and an input/output of adjacent objects, wherein the negotiated buffers are utilized to communicate media content between the matrix switch and adjacent buffers by sharing a common buffer between inputs and outputs; wherein the matrix switch attempts to be an allocator for buffers shared with each of its input(s) and output(s), wherein if the matrix switch cannot be an allocator for one or more of its input(s) or output(s), such input(s) and output(s) do not share a common buffer with objects coupled thereto, and wherein the development project is a media processing project rendered as a filter graph of processing chains. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system implementing a development system, the development system comprising:
-
one or more processing chains; and a matrix switch, coupled to the one or more processing chains, to recursively pass content received from the one or more processing chains through one or more processing objects to implement a development project, wherein the matrix switch negotiates buffer size and attributes between the matrix switch and adjacent objects, wherein the negotiated buffers are utilized to communicate media content between the matrix switch and adjacent buffers without requiring a buffer copy operation, wherein the matrix switch negotiates to be an allocator of buffers between the matrix switch and any object coupled to its input and output to facilitate communication between the matrix switch and external objects as well as between its input(s) and out(s) without the need for a memory copy operation, wherein if the matrix switch is not able to be an allocator of a buffer for an input or an output of the matrix switch, a memory copy operation will be required to communicate with that input or output, and wherein a memory copy operation is required to communicate information to/from an matrix switch input and/or output for which the matrix switch is not an allocator of a buffer associated with that input and/or output, even of the communication is internal to the matrix switch itself. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-readable medium embodying code that implements a matrix switch object, comprising:
-
a dynamically determined number of inputs to receive content from one or more processing chains; and a dynamically determined number of outputs, selectively coupling one or more of the dynamically determined inputs to one or more of the dynamically determined outputs, wherein the matrix switch negotiates with objects coupled to each of the dynamically determined inputs and outputs for buffer size and attribute requirements to facilitate communication between objects and within the matrix switch using a shared buffer of agreed upon size and attribute characteristics, wherein if the matrix switch cannot negotiate an agreed upon buffer size and attribute characteristics between an input/output and an object coupled to the input/output, communication with the input/output is performed using a memory copy operation, wherein if an input/output of the matrix switch and an input/output of an object coupled to the input/output of the matrix switch do agree upon buffer size and attribute requirements, communication between the object and the matrix switch will be through a shared buffer coupling the input/output of the object to the input/output of the switch, and wherein communication between the input/output of the matrix switch and a second input/output of the matrix switch will be through a shared buffer, unless the second input/output does not adhere to the agreed upon buffer size and attribute requirements. - View Dependent Claims (14, 15, 16, 17)
-
Specification