US5881245A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for transmitting MPEG data at an adaptive data rate
Assignee: Digital Video Systems Inc
•
Filing: 1996-09-10
•
Granted: 1999-03-09
•
Expires: 2016-09-10
Abstract
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.
Inventors
- 👤 Kenneth M. Thompson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 15:19
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/20; H04N21/23; H04N21/234; H04N21/23406; H04N21/236; H04N21/2365; H04N21/238; H04N21/23805; H04N21/40; H04N21/43; H04N21/434; H04N21/4347; H04N21/44; H04N21/44004; H04N7/00; H04N7/24; H04N7/52
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
211 words
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.
Claim 2
Dependent Claim
211 words
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.
Claim 3
Dependent Claim
55 words
The method of claim 1 wherein the step of determining a state includes sub-steps of: i) determining a state of the one of the N queues of the buffer memory at the one of the upto M expanders, and ii) transmitting the determined state from the one of the upto M expanders to the server.
Claim 4
Dependent Claim
88 words
The method of claim 1 further comprising steps of: e) determining whether the adjusted rate is greater than a predetermined maximum rate; f) setting the adjusted rate to the predetermined maximum rate if it has been determined to be greater than the predetermined maximum rate in step (e); g) determining whether the adjusted rate is less than a predetermined minimum rate; and h) setting the adjusted rate to the predetermined minimum rate if it has been determined to be less than the predetermined minimum rate in step (g).
Claim 5
Dependent Claim
43 words
The method of claim 1 further comprising steps of: e) determining whether the system is in a start-up state; and f) setting the adjusted rate to a predetermined maximum rate if it has been determined that the system is in a start-up state.
Claim 6
Independent Claim
149 words
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.
Claim 7
Independent Claim
149 words
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.
Claim 8
Dependent Claim
28 words
The system of claim 5 wherein the storage device is segmented into a number of queues such that each of the plurality of decoders has an associated queue.
Claim 9
Dependent Claim
42 words
The system of claim 6 wherein the stream server directs the streams of the encoded data to a particular one of the number of queues of the storage device based on which of the plurality of decoders the stream is destined for.
Claim 10
Dependent Claim
18 words
The system of claim 5 wherein the input and second output of the expander share a common port.
Claim 11
Dependent Claim
27 words
The system of claim 8 wherein the input and second output of the expander are facilitated by a communications channel supporting the SCSI-2 fast and wide protocol.
Claim 12
Dependent Claim
102 words
The system of claim 5 wherein the expander includes: i) a first interface defining the input of the expander; ii) an internal bus, the internal bus being coupled with the first interface; iii) a second interface defining the first output of the expander and being coupled with the internal bus; iv) a first microprocessor, coupled with the internal bus, for moving the streams of encoded data received at the first interface to the storage device and for moving buffered data from the storage device to the second interface; and v) an arbiter for arbitrating access to the internal bus of the expander.
Claim 13
Dependent Claim
31 words
The system of claim 10 wherein the first microprocessor further determines the storage device state data and provides the storage device state data to the first interface via the internal bus.
Claim 14
Dependent Claim
181 words
The system of claim 6 wherein each of the plurality of decoders includes: i) a transport demultiplexer having an input for accepting the stream of encoded data, and at least two outputs, the transport demultiplexer separating different types of encoded data from the stream of encoded data and providing these different types of encoded data to associated ones of the at least two outputs; ii) a first memory device, associated with the transport demultiplexer, for buffering the stream of encoded data; iii) a first decoder, having an input coupled with one of the at least two outputs of the transport demultiplexer, for decoding the encoded data provided to it; and iv) a second memory device, associated with the first decoder, for buffering the encoded data provided on the one of the at least two outputs of the transport demultiplexer, wherein, the second memory device is filled with the encoded data provided on the one of the at least two outputs of the transport demultiplexer before the first memory device is filled, to a predetermined level, with the stream of encoded data.
Claim 15
Dependent Claim
40 words
The system of claim 12 wherein a queue of the storage device of the expander is only filled when the first and second memory devices of the associated one of the plurality of decoders are filled to a predetermined level.
Claim 16
Dependent Claim
127 words
The system of claim 5 wherein the server includes: i) a file storage device for storing files of the encoded data; ii) a timing and control unit for accessing one of the files of the encoded data stored in the file storage device; iii) a transfer buffer for buffering the one of the files of the encoded data stored on the file storage device and accessed by the timing and control unit; iv) an interface unit for formatting data buffered in the transfer buffer for output, wherein the timing and control unit selects the determined rate at which data are requested by the interface unit from the transfer buffer; and v) a rate adjustment device for adjusting the determined rate based on the storage device state data.
Claim 17
Dependent Claim
128 words
The system of claim 5 wherein the expander includes: i) a first interface defining the input of the expander; ii) an internal bus, the internal bus being coupled with the first interface; iii) a second interface defining the first output of the expander and being coupled with the internal bus; iv) a first microprocessor, coupled with the internal bus, for moving the streams of encoded data received at the first interface to the storage device and for moving buffered data from the storage device to the second interface; v) a second microprocessor, coupled with the internal bus, for determining the storage device state data; vi) a control bus interface coupled with the internal bus; and vii) an arbiter for arbitrating access to the internal bus of the expander.
Claim 18
Dependent Claim
23 words
The system of claim 15 wherein the second microprocessor communicates the storage device state data to the stream server via the second output.
References Cited (Backward Citations)
US5598213A
Cited
US5566208A
Cited
US5720037A
Cited
US5586264A
Cited
US5543853A
Cited
US5677969A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-03-08 | 2002-09-07 | 2003-03-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-03-08 | 2006-09-07 | 2007-03-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-03-08 | 2010-09-07 | 2011-03-09 | $7700.00 | Window Closed / Lapsed |