Model based bit rate control for a macroblock encoder
First Claim
1. An article comprising a computer readable medium having instructions thereon which when executed by a computing platform result in execution of a method for computing a quantizer value (Q) in a video encoder, comprising:
- modeling bits (B) required to code a current macroblock in a frame, in a rate control unit of the video encoder, using an equation
B=a*S/Q+b*S/Q2,where a and b are coefficients of the equation, S is signal energy of the current macroblock, and Q is the quantizer value used to code the current macroblock;
determining values of the coefficients a and b of the equation using a set of values of Ri, Si, and Qi in the rate control unit, where Ri is the actual number of bits consumed by an ith coded macroblock with signal energy (Si) at a quantizer value (Qi), and i varies from 0 to N−
1, where N is a number of coded macroblocks in the frame up to the current macroblock; and
,computing the quantizer value (Q) for the current macroblock, in the rate control unit, by solving the equation with the determined values of coefficients a and b, the signal energy (S) for the current macroblock, and the bits (B) allocated for the current macroblock.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for achieving bit rate controlled encoding, e.g., constant bit rate, uses a bit rate control model based on bits allocated per macroblock and based on error in estimating bits consumed in an encoding process in a macroblock. The method computes bits consumed per macroblock as a function of the formed bit rate control model, and allocates bits for the macroblock. To this end, a quadratic (second order) equation is used for the model, which equation might default into a first order equation requiring fewer computations, in the event that no second order solutions exist. In one form, the bit rate control model computes the bit rate to satisfy video buffer verifier (VBV) compliance in accordance with MPEG requirements. The bit rate control model makes allowances for the type of macroblock, i.e., inter, intra or bidirectional, and provides for any frame-skips.
37 Citations
19 Claims
-
1. An article comprising a computer readable medium having instructions thereon which when executed by a computing platform result in execution of a method for computing a quantizer value (Q) in a video encoder, comprising:
-
modeling bits (B) required to code a current macroblock in a frame, in a rate control unit of the video encoder, using an equation
B=a*S/Q+b*S/Q2,where a and b are coefficients of the equation, S is signal energy of the current macroblock, and Q is the quantizer value used to code the current macroblock; determining values of the coefficients a and b of the equation using a set of values of Ri, Si, and Qi in the rate control unit, where Ri is the actual number of bits consumed by an ith coded macroblock with signal energy (Si) at a quantizer value (Qi), and i varies from 0 to N−
1, where N is a number of coded macroblocks in the frame up to the current macroblock; and
,computing the quantizer value (Q) for the current macroblock, in the rate control unit, by solving the equation with the determined values of coefficients a and b, the signal energy (S) for the current macroblock, and the bits (B) allocated for the current macroblock.
-
-
2. A method for computing a quantizer value (Q) in a video encoder, comprising:
-
modeling bits (B) required to code a current macroblock in a frame, in a rate control unit of the video encoder, using an equation
B=a*S/Q+b*S/Q2,where a and b are coefficients of the equation, S is signal energy of the current macroblock, and Q is the quantizer value used to code the current macroblock; determining values of the coefficients a and b of the equation using a set of values of Ri, Si, and Qi in the rate control unit, where Ri is the actual number of bits consumed by an ith coded macroblock with signal energy (Si) at a quantizer value (Qi), and i varies from 0 to N−
1, where N is a number of coded macroblocks in the frame up to the current macroblock; and
,computing the quantizer value (Q) for the current macroblock, in the rate control unit, by solving the equation with the determined values of coefficients a and b, the signal energy (S) for the current macroblock, and the bits (B) allocated for the current macroblock. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification