Adaptive rate control for digital video compression
First Claim
1. In an image compression system, a sub-system for adaptively controlling the encoded bit rate of a video signal, comprising:
- encoder means for receiving a segment of the video signal and generating a plurality of encoded streams of data bits in accordance with a predetermined set of quantization settings chosen based on a model of quantization index versus rate; and
rate controller means for receiving said plurality of encoded streams and generating a selected encoded stream in accordance with a predetermined selection algorithm, said rate controller means further comprising;
selector means for receiving said plurality of encoded streams and said corresponding bit rates, and for generating said selected encoded stream in accordance with said predetermined selection criterion, said predetermined selection criterion being based on said bit rates;
buffer means for receiving said selected encoded stream in preparation for transmission, said buffer having a buffer status as a result of having received said selected encoded stream; and
update means for generating an updated set of said quantization settings in accordance with said buffer status, wherein said update means further receives parameters of said updated model and generates said updated set of said quantization settings in accordance with said parameters;
wherein said encoder means further comprises rate measurer means for receiving said plurality of encoded streams and for determining a bit rate corresponding to each of said plurality of encoded streams, said bit rates being dependent on said quantization settings;
wherein each of said quantization settings comprises;
a weighting mask function generated in accordance with a quantization index; and
a model element for receiving said quantization indices and said bit rates, and for deriving said updated model of quantization index versus rate in accordance with said quantization indices and said bit rates.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for adaptively controlling the encoded data rate in a data compression system. The system and method sets up alternative encoded bit streams for each segment of data and selects the alternative that would produce the bit rate closest to a predetermined target bit rate for transmission. Each segment of video input is quantized based on a set quantization settings to produce a plurality of quantized segments. Each quantized segment is then variable rate encoded to produce an alternative encoded bit stream. The data rate that would be required to transmit each alternative encoded bit stream is determined and compared with a predetermined target bit rate, which is set according to the transmission rate buffer status. The selected encoded bit stream is provided to the transmission rate buffer in preparation for transmission. Having processed one segment of data, the system and method then updates its parameters for processing the next segment of data. An updated target bit rate is determined based on the rate buffer status at this point. A rate versus quantization index model is derived according to the data rates of the encoded streams and the corresponding quantization indices. A new set of weighting mask functions is then produced in accordance with the model and the quantization indices. The new set of quantization indices is to be used for processing the next segment of data.
-
Citations
19 Claims
-
1. In an image compression system, a sub-system for adaptively controlling the encoded bit rate of a video signal, comprising:
-
encoder means for receiving a segment of the video signal and generating a plurality of encoded streams of data bits in accordance with a predetermined set of quantization settings chosen based on a model of quantization index versus rate; and
rate controller means for receiving said plurality of encoded streams and generating a selected encoded stream in accordance with a predetermined selection algorithm, said rate controller means further comprising;
selector means for receiving said plurality of encoded streams and said corresponding bit rates, and for generating said selected encoded stream in accordance with said predetermined selection criterion, said predetermined selection criterion being based on said bit rates;
buffer means for receiving said selected encoded stream in preparation for transmission, said buffer having a buffer status as a result of having received said selected encoded stream; and
update means for generating an updated set of said quantization settings in accordance with said buffer status, wherein said update means further receives parameters of said updated model and generates said updated set of said quantization settings in accordance with said parameters;
wherein said encoder means further comprises rate measurer means for receiving said plurality of encoded streams and for determining a bit rate corresponding to each of said plurality of encoded streams, said bit rates being dependent on said quantization settings;
wherein each of said quantization settings comprises;
a weighting mask function generated in accordance with a quantization index; and
a model element for receiving said quantization indices and said bit rates, and for deriving said updated model of quantization index versus rate in accordance with said quantization indices and said bit rates. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
wherein said predetermined selection criterion used by said selector means minimizes an absolute encoded rate error based on a predetermined target bit rate; - and
wherein said update means further generates an updated target bit rate in accordance with said buffer status.
-
-
4. The sub-system of claim 3 wherein said updated target bit rate is further generated in accordance with buffer fullness level.
-
5. The sub-system of claim 4 wherein said update means generates an updated set of said quantization indices in accordance with said updated model.
-
6. The sub-system of claim 5 wherein one of said updated set of quantization indices is generated by solving for the quantization index corresponding to said updated target bit rate based on said updated model, and the others of said updated set of quantization indices are generated based on a one-anchor method in which a maximum index is set to an anchor value unless the difference between indices is less than a predetermined threshold.
-
7. The sub-system of claim 5 wherein one of said updated set of quantization indices is generated by solving for the quantization index corresponding to said updated target bit rate based on said updated model, and the others of said updated set of quantization indices are generated based on a two-anchor method in which a minimum index is set to a minimum anchor value and a maximum index is set to a maximum anchor value unless the difference between indices is less than a predetermined threshold.
-
8. The sub-system of claim 1,
wherein said segment of video signal is a color video signal with luminance and chrominance components; -
wherein each of said luminance and chrominance components is separately quantized by said plurality of quantizers corresponding to said quantization indices to generate said quantized streams of data;
wherein said variable length encoders generate said plurality of encoded streams of data bits for each of said luminance and chrominance components;
wherein said rate measurer determines said bit rates for each of said encoded streams for each of said luminance and chrominance components;
wherein said model element further generates a component model for each of said luminance and chrominance components based on said quantization indices and said bit rates for each of said components; and
wherein said updated model of quantization index versus rate is a composite of said component models.
-
-
9. The sub-system of claim 8 wherein said selector means receives said encoded streams and said bit rates for said luminance and chrominance components, and generates selected encoded streams for said luminance and chrominance components based on the combination of luminance and chrominance components whose rates minimize an absolute encoded rate error based on a predetermined target bit rate.
-
10. The sub-system of claim 9 wherein said update means generates said updated quantization settings for each of said luminance and chrominance components.
-
11. A method for adaptively controlling the encoded bit rate of a video input for image compression, comprising the steps of:
-
encoding a segment of video in accordance with a predetermined set of quantization settings to generate a plurality of encoded streams of data bits, said quantization settings chosen based on a model of quantization index versus rate, wherein encoding comprises the steps of;
quantizing said segment of video signal to generate a plurality of quantized streams, each of said plurality of quantized streams quantized according to one of said quantization settings; and
variable-length encoding each of said plurality of quantized streams using a variable-length encoding algorithm to generate a corresponding plurality of said encoded streams, wherein variable length coding comprises run-length encoding of zeros followed by Huffman coding;
selecting a selected encoded stream in accordance with a predetermined selection algorithm;
generating a control signal based on said selected encoded stream; and
updating said quantization settings in accordance with an updated model of quantization index versus rate and said control signal;
deriving an updated model of quantization index versus rate in accordance with said quantization indices and said encoded bit rates; and
updating said quantization settings further in accordance with the parameters of said updated model. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
wherein said predetermined selection criterion for selecting said variable-length encoded stream minimizes an absolute encoded rate error based on a predetermined target bit rate; - and
further comprising the step of updating said target bit rate in accordance with said buffer status.
-
-
14. The method of claim 13 further comprising the step of generating an updated set of said quantization indices by solving for the quantization index corresponding to said updated target bit rate according to said updated model.
-
15. The method of claim 14 wherein one of said updated set of quantization indices is generated by solving for the quantization index corresponding to said updated target bit rate based on said updated model, and the others of said updated set of quantization indices are generated based on a one-anchor method in which a maximum index is set to an anchor value unless the difference between indices is less than a predetermined threshold.
-
16. The method of claim 14 wherein one of said updated set of quantization indices is generated by solving for the quantization index corresponding to said updated target bit rate based on said updated model, and the others of said updated set of quantization indices are generated based on a two-anchor method in which a maximum index is set to a maximum anchor value and a minimum index is set to a minimum anchor value unless the difference between indices is less than a predetermined threshold.
-
17. The method of claim 11,
wherein said video input is a color signal with luminance and chrominance components; -
wherein said step of quantizing separately quantizes said luminance and chrominance components;
wherein said step of variable-length encoding generates said plurality of encoded streams for each of said luminance and chrominance components;
wherein said step of determining encoded bit rates is performed for each of said luminance and chrominance components; and
wherein said step of deriving a model derives said updated component model for each of said luminance and chrominance components, said updated model being a composite of said component models.
-
-
18. The method of claim 17 wherein said step of selecting selects a selected component encoded stream for each of said luminance and chrominance components based on the combination of luminance and chrominance components whose rates minimize an absolute encoded rate error based on a predetermined target bit rate.
-
19. The method of claim 18 wherein said step of updating said quantization settings generates said updated quantization settings for each of said luminance and chrominance components.
Specification