Method and apparatus for transmitting MPEG data at an adaptive data rate
First Claim
1. In a system having a server, upto M*N decoders, each having a decoder buffer memory, and upto M expanders, each having a buffer memory partitioned into upto N queues, a method for transmitting encoded data from the server to one of the upto M*N decoders, the method comprising steps of:
- a) transmitting the encoded data from the server to the one of the upto M*N decoders, via one of the upto M expanders associated with the one of the upto M*N decoders, until its decoder buffer memory is filled to a predetermined level;
b) transmitting, at a first rate, the encoded data from the server to one of the N queues of the buffer memory of the one of the upto M expanders associated with the one of the upto M*N decoders;
c) determining a state of the one of the N queues of the buffer memory of the one of the upto M expanders; and
d) adjusting the first rate at which the encoded data is transmitted from the server to the one of the N queues of the buffer memory of one of the upto M expanders associated with the one of the upto M*N decoders based on the state determined in step (c) to form an adjusted rate.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and device for communicating encoded data (such as MPEG encoded data for example) from a server to a decoder via a buffer. The rate at which the server provides the encoded data are adjusted based on a state of the buffer such that the buffer does not overflow or run dry, even when the communication of the data is subject to drift. Specifically, when the buffer is below a predetermined level, the rate at which the server provides the encoded data is increased. On the other hand, when the buffer is above a predetermined level, the rate at which the server provides the encoded data is decreased.
196 Citations
16 Claims
-
1. In a system having a server, upto M*N decoders, each having a decoder buffer memory, and upto M expanders, each having a buffer memory partitioned into upto N queues, a method for transmitting encoded data from the server to one of the upto M*N decoders, the method comprising steps of:
-
a) transmitting the encoded data from the server to the one of the upto M*N decoders, via one of the upto M expanders associated with the one of the upto M*N decoders, until its decoder buffer memory is filled to a predetermined level; b) transmitting, at a first rate, the encoded data from the server to one of the N queues of the buffer memory of the one of the upto M expanders associated with the one of the upto M*N decoders; c) determining a state of the one of the N queues of the buffer memory of the one of the upto M expanders; and d) adjusting the first rate at which the encoded data is transmitted from the server to the one of the N queues of the buffer memory of one of the upto M expanders associated with the one of the upto M*N decoders based on the state determined in step (c) to form an adjusted rate. - View Dependent Claims (2, 3, 4)
-
-
5. A system for distributing encoded data, the system comprising:
-
a) a server for retrieving files of the encoded data and outputting streams of the encoded data at a determined rate; b) an expander having an input receiving the streams of encoded data output by the server, a storage device for buffering the streams of encoded data received at the input of the expander, a first output for providing, upon request, the streams of encoded data buffered in the storage device, and a second output for providing storage device state data to the server, wherein the determined rate of the server is adjusted based on the storage device state data; and c) a plurality of decoders, each of the plurality of decoders having an input for receiving the streams of encoded data provided from the first output of the expander and an output for providing data requests to the expander. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification