Realtime distribution of granular data streams on a network
AssigneeMatrox Graphics Inc.
InventorMartin George Lafferty
Life of this patent
Estimating the term…
Abstract
A system and method for an asynchronous media fabric service. The system includes at least one host configured with the asynchronous media fabric service. The asynchronous media fabric service is configured to: create and delete shared memory pools that are used to allow processes running on a single host direct access to grain data; send and receive grains from other hosts; and serve as an API end-point for asynchronous media fabric function processes to create, delete and obtain references to streams.
Claims14
A method for processing real-time media streams asynchronously by at least one host under control of a media-processing application, the method comprising:
- configuring the at least one host with a plurality of media-processing function processes each configured to operate, under control of the media-processing application, to at least one of capture, process and/or output a media stream including a sequence of grains, where each media stream is identified by a stream name, respectively, and each grain within an identified media stream is identified by a nominal timestamp, respectively;
- transferring, under control of the media-processing application, grains between the plurality of media-processing function processes to create a signal path, where at least one of the plurality of media-processing function processes operates to at least one of capture from a real-time synchronous input stream and/or output to a real-time synchronous output stream, wherein the nominal timestamp of each grain is related to at least one of a grain capture time from the real-time synchronous input stream and/or a grain presentation time to the real-time synchronous output stream;
- employing, by the media-processing application, in real-time, a plurality of control streams to provide values of control parameters to the plurality of media-processing function processes, where the values of the control parameters included in the control streams are defined as a function of the grain nominal timestamps;
- processing, by the plurality of media-processing function processes, each grain according to the value of the control parameter associated with the nominal timestamp of the grain being processed;
- including in each respective host an asynchronous media fabric service configured to:
- create and delete shared memory pools, each of the shared memory pools associated with an identified media stream present on the respective host and used to allow the plurality of media-processing function processes running on the respective host direct access to the grains included in the identified media stream;
- and
- serve as an application programming interface endpoint for the plurality of media-processing function processes to create, delete and obtain references to the shared memory pools.
Dependencies are inferred from the claim text.