Real-time priority-based media communication
DCFirst Claim
1. A non-transitory computer readable medium storing a program to cause at least one processor to perform operations comprising:
- obtaining one or more streams;
processing the obtained one or more streams, wherein the processing includes;
dividing each of the one or more streams into a plurality of chunks, wherein each chunk of the plurality of chunks has an associated data payload and an associated chunk control byte including a chunk type identifier,if a chunk of the plurality of chunks is associated with a new stream from among the one or more streams, writing to the chunk control byte of the chunka new stream chunk type identifier as the chunk type identifier, andrendering information relating to a media rendering state corresponding to the new stream chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new stream chunk uses no parameters from a previous chunk of the one or more streams,if the chunk is associated with a new media of the new stream, writing to the chunk control byte of the chunka new media chunk type identifier as the chunk type identifier, andrendering information relating to a media rendering state corresponding to the new media chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new media chunk uses at least one other parameter from a previous chunk of the new stream,if the chunk is associated with a new time of the new stream, writing to the chunk control byte of the chunka new time chunk type identifier as the chunk type identifier, andrendering information relating to a media rendering state corresponding to the new time chunk comprising at least one new parameter, wherein the media rendering state corresponding to the new time chunk uses a plurality of other parameters from a previous chunk of the new stream, andelse, writing to the chunk control byte a continuation chunk type identifier as the chunk type identifier, wherein a media rendering state corresponding to the continuation chunk uses rendering information from previous chunks; and
outputting the processed one or more streams.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Representative embodiments are disclosed of a real-time priority-based communication system and method for communicating media streams made up of multiple media message sub-streams, the communication system comprising a chunk configurator for dividing media message sub-streams into chunks, a state machine configured to translate between information regarding the media message sub-streams and the chunks and state associations to the information, the state associations written into a header for each of the chunks, a queue for holding the chunks waiting to be transmitted, and a processor for executing a scheduling algorithm, wherein the scheduling algorithm determines ones of the chunks in the queue to transmit next.
-
Citations
52 Claims
-
1. A non-transitory computer readable medium storing a program to cause at least one processor to perform operations comprising:
-
obtaining one or more streams; processing the obtained one or more streams, wherein the processing includes; dividing each of the one or more streams into a plurality of chunks, wherein each chunk of the plurality of chunks has an associated data payload and an associated chunk control byte including a chunk type identifier, if a chunk of the plurality of chunks is associated with a new stream from among the one or more streams, writing to the chunk control byte of the chunk a new stream chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new stream chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new stream chunk uses no parameters from a previous chunk of the one or more streams, if the chunk is associated with a new media of the new stream, writing to the chunk control byte of the chunk a new media chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new media chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new media chunk uses at least one other parameter from a previous chunk of the new stream, if the chunk is associated with a new time of the new stream, writing to the chunk control byte of the chunk a new time chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new time chunk comprising at least one new parameter, wherein the media rendering state corresponding to the new time chunk uses a plurality of other parameters from a previous chunk of the new stream, and else, writing to the chunk control byte a continuation chunk type identifier as the chunk type identifier, wherein a media rendering state corresponding to the continuation chunk uses rendering information from previous chunks; and outputting the processed one or more streams. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a storage device; and one or more computer systems communicatively coupled with the storage device and operable to interact with a user device, the one or more computer systems being configured to perform operations including; obtaining one or more streams; processing the obtained one or more streams, wherein the processing includes; dividing each of the one or more streams into a plurality of chunks, wherein each chunk has an associated data payload and an associated chunk control byte including a chunk type identifier, if a chunk of the plurality of chunks is associated with a new stream from among the one or more streams, writing to the chunk control byte of the chunk a new stream chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new stream chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new stream chunk uses no parameters from a previous chunk of the one or more streams, if the chunk is associated with a new media of the new stream, writing to the chunk control byte of the chunk a new media chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new media chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new media chunk uses at least one other parameter from a previous chunk of the new stream, if the chunk is associated with a new time of the new stream, writing to the chunk control byte of the chunk a new time chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new time chunk comprising at least one new parameter, wherein the media rendering state corresponding to the new time chunk uses a plurality of other parameters from a previous chunk of the new stream, and else, writing to the chunk control byte a continuation chunk type identifier as the chunk type identifier, wherein a media rendering state corresponding to the continuation chunk uses rendering information from previous chunks; and outputting the processed one or more streams. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
obtaining one or more streams; processing the obtained one or more streams, wherein the processing includes; dividing each of the one or more streams into a plurality of chunks, wherein each chunk of the plurality of chunks has an associated data payload and an associated chunk control byte including a chunk type identifier, if a chunk of the plurality of chunks is associated with a new stream from among the one or more streams, writing to the chunk control byte of the chunk a new stream chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new stream chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new stream chunk uses no parameters from a previous chunk of the one or more streams, if the chunk is associated with a new media of the new stream, writing to the chunk control byte of the chunk a new media chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new media chunk comprising a plurality of new parameters, wherein the media rendering state corresponding to the new media chunk uses at least one other parameter from a previous chunk of the new stream, if the chunk is associated with a new time of the new stream, writing to the chunk control byte of the chunk a new time chunk type identifier as the chunk type identifier, and rendering information relating to a media rendering state corresponding to the new time chunk comprising at least one new parameter, wherein the media rendering state corresponding to the new time chunk uses a plurality of other parameters from a previous chunk of the new stream, and else, writing to the chunk control byte a continuation chunk type identifier as the chunk type identifier, wherein a media rendering state corresponding to the continuation chunk uses rendering information from previous chunks; and streaming the processed one or more streams from a media streaming server system. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A non-transitory computer readable medium storing a program to cause at least one processor to perform operations comprising:
-
receiving a plurality of chunks associated with one or more streams, wherein each chunk of the plurality of chunks has an associated data payload and an associated chunk control byte including rendering information relating to a media rendering state associated with one chunk and one or more subsequent chunks, such that a portion of the rendering information that remains unchanged from the one chunk to a subsequent chunk is included in the chunk control byte of the one chunk but is missing from the chunk control byte of the subsequent chunk, wherein the chunk control byte includes a chunk type identifier; for each chunk of the plurality of chunks, determining playback information associated with the chunk at least in part by reading the rendering information from the associated chunk control byte, designating the rendering information read from the associated chunk control byte as the playback information associated with the chunk, and in response to determining that a portion of the rendering information from the associated chunk control byte is missing, adding to the playback information associated with the chunk a corresponding portion of rendering information read from a chunk control byte of a preceding chunk; reassembling the one or more streams based on respective playback information associated with each of the plurality of chunks; and issuing the reassembled one or more streams. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A system comprising:
one or more processors and storage configured to store instructions, that when executed by the one or more processors cause the system to perform operations comprising; receiving a plurality of chunks associated with one or more streams, wherein each chunk of the plurality of chunks has an associated data payload and an associated chunk control byte including rendering information relating to a media rendering state associated with one chunk and one or more subsequent chunks, such that a portion of the rendering information that remains unchanged from the one chunk to a subsequent chunk is included in the chunk control byte of the one chunk but is missing from the chunk control byte of the subsequent chunk, wherein the chunk control byte includes a chunk type identifier; for each chunk of the plurality of chunks, determining playback information associated with the chunk at least in part by reading the rendering information from the associated chunk control byte, designating the rendering information read from the associated chunk control byte as the playback information associated with the chunk, and in response to determining that a portion of the rendering information from the associated chunk control byte is missing, adding to the playback information associated with the chunk a corresponding portion of rendering information read from a chunk control byte of a preceding chunk; reassembling the one or more streams based on respective playback information associated with each of the plurality of chunks; and issuing the reassembled one or more streams. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43)
-
44. A method comprising:
-
receiving a plurality of chunks associated with one or more streams, wherein each chunk of the plurality of chunks has an associated data payload and an associated chunk control byte including rendering information relating to a media rendering state associated with one chunk and one or more subsequent chunks, such that a portion of the rendering information that remains unchanged from the one chunk to a subsequent chunk is included in the chunk control byte of the one chunk but is missing from the chunk control byte of the subsequent chunk, wherein the chunk control byte includes a chunk type identifier; for each chunk of the plurality of chunks, determining playback information associated with the chunk at least in part by reading the rendering information from the associated chunk control byte, designating the rendering information read from the associated chunk control byte as the playback information associated with the chunk, and in response to determining that a portion of the rendering information from the associated chunk control byte is missing, adding to the playback information associated with the chunk a corresponding portion of rendering information read from a chunk control byte of a preceding chunk; reassembling the one or more streams based on respective playback information associated with each of the plurality of chunks; and issuing the reassembled one or more streams. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52)
-
Specification