Claims
- 1. A method of determining an output rate at which a bit stream encoded at a variable rate is output to a receiver, the method comprising the steps of:receiving and storing a plurality of time slices of the bit stream in a memory buffer; in a processor, determining a bandwidth output requirement for each time slice received; comparing the bandwidth output requirement with the receiver bandwidth capability; and reallocating bits among said time slices on a time slice-by-time slice basis so that the bandwidth output requirement for each time slice is less than the receiver bandwidth capability.
- 2. The method set forth in claim 1, wherein the bandwidth output requirement is determined such that the receiver experiences neither an overflow nor an underflow condition.
- 3. The method set forth in claim 1, wherein the bit stream is a sequence of components, the components having varying lengths and each component including timing information indicating when the receiver must process the component;the step of determining the output rate is done for a given period of time and comprises the steps of determining a minimum rate such that the component is output from the queue before the receiver must process the component; and determining a maximum rate such that the total size of the components in the set of the components that have been sent to but not yet processed by the receiver does not exceed the size of the bit buffer in the receiver of the model.
- 4. The method set forth in claim 1, wherein the components are digitally-encoded video images.
- 5. The method set forth in claim 4, wherein the video images are encoded according to the MPEG-2 standard.
- 6. The method as in claim 1, wherein the bandwidth capability is defined by the size of the memory buffer and a video buffer in said receiver.
- 7. The method as in claim 1, wherein the step of dynamically recoding bits among said time slices comprises the further step of calculating a bit stream fractional allocation.
- 8. The method as in claim 7, wherein the fractional allocation (fi) is calculated according to the following formula: fi=SVmaxi-SVminiΣ(SVmaxi-SVmini).
- 9. The method as in claim 1, wherein the step of comparing comprises the further step of comparing bandwidth output requirements versus bandwidth capability for a plurality of future time slices.
- 10. The method as in claim 9, wherein said portion replaced by a pre-stored frame is selected from at least one of a plurality of channels of information having a glue frame opportunity.
- 11. The method as in claim 10, including the further step of evaluating said channels on a lowest to highest priority basis to identify said glue frame opportunities.
- 12. The method as in claim 11, including the further step of dropping channels if no glue frame opportunities are identified.
- 13. The method as in claim 12, wherein channels are dropped in lowest to highest priority order.
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a division of Ser. No. 09/228,029, filed Jan. 8, 1999, which is a continuation in part application of U.S. application Ser. No. 08/823,007, filed Mar. 21, 1997, now U.S. Pat. No. 6,052,384 by Huang, et al, entitled “Using a Receiver Model to Multiplex Variable-Rate Bit Streams Having Timing Constraints,” and assigned to Scientific-Atlanta, Inc.
US Referenced Citations (7)
Number |
Name |
Date |
Kind |
5594729 |
Kanakia et al. |
Jan 1997 |
A |
5675384 |
Ramamurthy et al. |
Oct 1997 |
A |
5877612 |
Krayse et al. |
Mar 1999 |
A |
5956088 |
Shen et al. |
Sep 1999 |
A |
6044396 |
Adams |
Mar 2000 |
A |
6052384 |
Haung et al. |
Apr 2001 |
A1 |
6240103 |
Schoenblum et al. |
May 2001 |
B1 |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08/823007 |
Mar 1997 |
US |
Child |
09/228029 |
|
US |