Pseudo-constant bit rate video coding with quantization parameter adjustment
First Claim
1. A method for coding video frames comprising the steps ofcoding said video frames using a coding circuit including a processor for performing an orthogonal transform to produce transform coefficients and a quantizer for quantizing the transform coefficients to generate code bits at a variable bit rate,storing the code bits in a rate buffer at a variable bit rate and transmitting the code bits out of the rate buffer and into a communication channel at a substantially constant bit rate and,maintaining the contents of said rate buffer in a predetermined range by adjusting quantization parameters utilized by said quantizer to increase or decrease the amount of code bits generated by said coding circuit for a next set of one or more frames, the adjustment of quantization parameters being in response to a deviation between the actual number of code bits generated by the coding circuit for a previous set of one or more frames and an estimate of the number of code bits for said previous set of one or more frames.
6 Assignments
0 Petitions
Accused Products
Abstract
A method for coding frames of video wherein a coding circuit (14,16,18) includes a processor (30) for performing an orthogonal transform such as a discrete
cosine transform and a quantizer (32) for quantizing the resulting transform coefficients. The coding circuit codes the video frames using intra-frame, predictive or interpolative coding to generate code bits at a variable rate. The code bits are stored at a variable rate in a rate buffer (22), which transmits the code bits into a communication channel (24) at a pseudo-constant rate, i.e. a rate which is constant in every time interval of one frame. To maintain the contents of the rate buffer (22) within predetermined limits, the quantization parameters utilized by the quantizer (32) are periodically adjusted to increase or decrease the amount of code bits generated by the coding circuit. The quantization parameters are changed on a global SGOP level to avoid changes of quantization parameters and corresponding changes in decoded image quality within particular frames. The change in quantization parameters for coding the next SGOP is determined by a deviation measure between the actual number of code bits generated by the coding circuit (14,16,18) for the previous SGOP and an estimate of the number of code bits for the previous SGOP. The estimated number of code bits is determined based on the contents of the rate buffer (22) such that the rate buffer (22) will be emptied in a predetermined time period.
-
Citations
23 Claims
-
1. A method for coding video frames comprising the steps of
coding said video frames using a coding circuit including a processor for performing an orthogonal transform to produce transform coefficients and a quantizer for quantizing the transform coefficients to generate code bits at a variable bit rate, storing the code bits in a rate buffer at a variable bit rate and transmitting the code bits out of the rate buffer and into a communication channel at a substantially constant bit rate and, maintaining the contents of said rate buffer in a predetermined range by adjusting quantization parameters utilized by said quantizer to increase or decrease the amount of code bits generated by said coding circuit for a next set of one or more frames, the adjustment of quantization parameters being in response to a deviation between the actual number of code bits generated by the coding circuit for a previous set of one or more frames and an estimate of the number of code bits for said previous set of one or more frames.
-
7. A method for coding video frames organized into sets of one or more video frames comprising the steps of:
-
generating code bits at a variable bit rate by a coding circuit to code said video frames, storing said code bits in a rate buffer, and transmitting said code bits from said rate buffer via a communication channel at a substantially constant bit rate, the step of generating code bits comprising the step of selecting a next quantizer in response to a deviation of an actual number of code bits generated by said coding circuit for a previous set of frames from an estimated number of code bits for said previous set of frames to maintain the contents of said rate buffer in a predetermined range. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A method for coding a series of video frames organized into groups of frames (GOPs), which in turn are organized into sub-groups of frames (SGOPs), through use of a coding circuit comprising a processor for carrying out an orthogonal transform and a quantizer for quantizing the coefficients generated by said orthogonal transform, and a rate buffer for receiving code bits from said coding circuit at a variable rate and outputting the code bits into a communication channel at a substantially constant rate, said method comprising the steps of:
-
after coding a previous SGOP by said coding circuit utilizing a previous quantizer, selecting a next quantizer from a plurality of available quantizers for the next SGOP by determining a deviation measure of the actual number of code bits generated by said coding circuit for the previous SGOP from an estimated number of code bits for the previous SGOP, and utilizing the deviation measure to select said next quantizer, determining an estimated number of code bits for the next SGOP based on the contents of the frame buffer after coding the previous SGOP, coding said next SGOP using said processor and said next quantizer and storing the coded bits of the next SGOP in said rate buffer, said next quantizer being chosen such that the next quantizer has quantization parameters which are constrained to be within a predetermined range of quantization parameters of the previous quantizer. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
19. The method of claim 18 wherein the step of selecting a next quantizer comprises the step of selecting a next quantization matrix such that inext -iprevious ≦
- J where inext is the index of the next quantization matrix, iprevious is the index of a previous quantization matrix and J is a predetermined integer.
-
20. The method of claim 19 wherein the step of selecting a next quantization matrix comprises selecting the index inext of the next quantization matrix such that ##EQU8## where j=1,2, . . . , J and where the values t-31 j-1,t-j, . . . , tj, tj+1 are predetermined thresholds and where IDprevious is said deviation measure.
-
21. The method of claim 20 wherein the deviation measure for selecting said next quantization matrix is determined by ##EQU9## where SGOPBITSprevious is the number of code bits actually generated by said coding circuit for said previous SGOP, EBprevious is the estimated number of code bits for said previous SGOP, and RSGOP is a desired number of bits per SGOP transmitted from said rate buffer to said communication channel.
-
22. The method of claim 14 wherein the estimated number of code bits for the next SGOP is determined such that the rate buffer will be emptied after a predetermined number of GOPs.
-
23. The method of claim 14 wherein said method further includes the step of halting the coding of said video frames by said coding circuit until the contents of said rate buffer fall below a second predetermined level, if the contents of said rate buffer exceed a first predetermined level.
-
Specification