Claims
- 1. A compressed bit stream generated by an encoder for encoding an input sequence of video frames, said encoder comprising an encoding circuit and an output buffer connected to the encoding circuit for receiving the compressed bit stream, a method for generating the bit stream including the steps of:
- (1) maintaining a model of a decoder input buffer by a controller of said encoder, a fullness of said model decoder input buffer changing in a way which mirrors changes in a fullness of said encoder output buffer,
- (2) providing a bit budget for each of said frames by said controller depending on whether said frame is an I, P, or B frame and depending on a rate R.sub.eff at which bits are removed from said encoder output buffer, said rate R.sub.eff being variable,
- (3) said bit budget being determined for each frame such that a system delay given by
- .DELTA.=encoder output buffer fullness/R.sub.eff +model decoder input buffer size/R.sub.eff remains constant, whereby a change in R.sub.eff is responded to by said encoder by changing the bit budget for one or more of said frames to cause a change in said encoder output buffer fullness to maintain said system delay as constant,
- (4) said bit budget being determined for each frame such that the number of bits budgeted to each frame will not cause said model decoder input buffer to overflow or underflow,
- wherein the bit budget allocated to each frame depends on an effective frame rate, said effective frame rate being an average over a time window of the number of frames per second, wherein some of said frames have a duration of two field periods and some of said frames have a duration of three field periods.
- 2. A recording medium containing video information generated in an encoder for encoding an input sequence of video frames to generate a compressed bit stream, said encoder comprising an encoding circuit and an output buffer connected to the encoding circuit for receiving the compressed bit stream, the recording medium receiving the video information generated by a method including the steps of:
- (1) maintaining a model of a decoder input buffer by a controller of said encoder, a fullness of said model decoder input buffer changing in a way which mirrors changes in a fullness of said encoder output buffer,
- (2) providing a bit budget for each of said frames by said controller depending on whether said frame is an I, P, or B frame and depending on a rate R.sub.eff at which bits are removed from said encoder output buffer, said rate R.sub.eff being variable,
- (3) said bit budget being determined for each frame such that a system delay given by
- .DELTA.=encoder output buffer fullness/R.sub.eff +model decoder input buffer size/R.sub.eff remains constant, whereby a change in R.sub.eff is responded to by said encoder by changing the bit budget for one or more of said frames to cause a change in said encoder output buffer fullness to maintain said system delay as constant,
- (4) said bit budget being determined for each frame such that the number of bits budgeted to each frame will not cause said model decoder input buffer to overflow or underflow,
- wherein the bit budget allocated to each frame depends on an effective frame rate, said effective frame rate being an average over a time window of the number of frames per second, wherein some of said frames have a duration of two field periods and some of said frames have a duration of three field periods.
- 3. A decoder configured to decode a compressed bit stream generated in an encoder for encoding an input sequence of video frames, said encoder comprising an encoding circuit and an output buffer connected to the encoding circuit for receiving the compressed bit stream, a method for generating the compressed bit stream including the steps of:
- (1) maintaining a model of a decoder input buffer by a controller of said encoder, a fullness of said model decoder input buffer changing in a way which mirrors changes in a fullness of said encoder output buffer,
- (2) providing a bit budget for each of said frames by said controller depending on whether said frame is an I, P, or B frame and depending on a rate R.sub.eff at which bits are removed from said encoder output buffer, said rate R.sub.eff being variable,
- (3) said bit budget being determined for each frame such that a system delay given by
- .DELTA.=encoder output buffer fullness/R.sub.eff +model decoder input buffer size/R.sub.eff remains constant, whereby a change in R.sub.eff is responded to by said encoder by changing the bit budget for one or more of said frames to cause a change in said encoder output buffer fullness to maintain said system delay as constant,
- (4) said bit budget being determined for each frame such that the number of bits budgeted to each frame will not cause said model decoder input buffer to overflow or underflow,
- wherein the bit budget allocated to each frame depends on an effective frame rate, said effective frame rate being an average over a time window of the number of frames per second, wherein some of said frames have a duration of two field periods and some of said frames have a duration of three field periods.
Parent Case Info
This is a continuation of application Ser. No. 08/578,811, now U.S. Pat. No. 5,686,963, filed Dec. 26, 1995.
US Referenced Citations (13)
Continuations (1)
|
Number |
Date |
Country |
Parent |
578811 |
Dec 1995 |
|