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 includesdividing 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, andwriting to a chunk control byte rendering information relating to a media rendering state associated with a chunk and one or more subsequent chunks of the plurality of chunks, wherein a portion of the rendering information that remains unchanged from the chunk to the one or more subsequent chunks is written to the chunk control byte of the chunk but omitted from the chunk control byte of the one or more subsequent chunks in accordance with the chunk type identifiers of the chunk and the one or more subsequent chunks, such that the chunk control bytes have variable lengths; 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
27 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, and writing to a chunk control byte rendering information relating to a media rendering state associated with a chunk and one or more subsequent chunks of the plurality of chunks, wherein a portion of the rendering information that remains unchanged from the chunk to the one or more subsequent chunks is written to the chunk control byte of the chunk but omitted from the chunk control byte of the one or more subsequent chunks in accordance with the chunk type identifiers of the chunk and the one or more subsequent chunks, such that the chunk control bytes have variable lengths; and outputting the processed one or more streams. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. 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, and writing to a chunk control byte rendering information relating to a media rendering state associated with a chunk and one or more subsequent chunks of the plurality of chunks, wherein a portion of the rendering information that remains unchanged from the chunk to the one or more subsequent chunks is written to the chunk control byte of the chunk but omitted from the chunk control byte of the subsequent one or more chunks in accordance with the chunk type identifiers of the chunk and the one or more subsequent chunks, such that the chunk control bytes have variable lengths; and outputting the processed one or more streams. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. 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, and writing to a chunk control byte rendering information relating to a media rendering state associated with a chunk and one or more subsequent chunks of the plurality of chunks, wherein a portion of the rendering information that remains unchanged from the chunk to the one or more subsequent chunks is written to the chunk control byte of the chunk but omitted from the chunk control byte of the one or more subsequent chunks in accordance with the chunk type identifiers of the chunk and the one or more subsequent chunks, such that the chunk control bytes have variable lengths; and streaming the processed one or more streams from a media streaming server system. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification