A method for video encoding is disclosed. The method generally includes the steps of (A) dividing a plurality of first macroblocks into at least two classes based on a plurality of first statistics, (B) measuring a respective number of bits used to encode the first macroblocks within each of the classes and (C) based on the measuring in step B, determining a quantization level in at least one of a plurality of second macroblocks that have yet to be encoded.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for video encoding, comprising the steps of: (A) dividing a plurality of first macroblocks in a first picture into at least two classes based on (i) a plurality of first statistics and (ii) previous activity of a previously encoded picture; (B) measuring a respective number of bits used to encode said first macroblocks within each of said classes; and (C) based on said measuring in step (B), determining a quantization level subsequently used to quantize at least one of a plurality of second macroblocks in a second picture that have yet to be encoded.
2. The method according to claim 1 , further comprising the step of: measuring a respective one of said first statistics for each of said first macroblocks.
3. The method according to claim 1 , wherein said respective number of bits are used in an adaptive quantization for said video encoding.
4. The method according to claim 1 , wherein step (C) comprises the sub-step of: determining a respective quantization level for each of said classes based on said respective number of bits, wherein said respective quantization levels are subsequently used to quantize said second macroblocks per said classes.
5. The method according to claim 4 , wherein step (C) further comprises the sub-step of: computing a respective complexity for each of said classes based on said first macroblocks within said classes, wherein said respective quantization levels are further based on said respective complexities.
6. The method according to claim 1 , further comprising the steps of: measuring a plurality of second statistics for said second macroblocks; dividing said second macroblocks into said classes based on said second statistics; and encoding said second macroblocks in each of said classes based on respective quantization levels determined while encoding said first macroblocks.
7. The method according to claim 1 , wherein each of said respective first statistics comprise a measure of spatial activity in one of said first macroblocks.
8. The method according to claim 1 , wherein step (A) comprises the sub-step of: allocating each of said first macroblocks having said respective first statistic less than a first threshold to a first of said classes.
9. The method according to claim 8 , wherein step (A) further comprises the sub-step of: allocating each of said first macroblocks having said respective first statistic greater than said first threshold and less than a second threshold to a second of said classes.
10. A method for video encoding, comprising the steps of: (A) dividing a plurality of first macroblocks in a first picture into at least two classes based on (i) a plurality of first statistics and (ii) previous activity of a previously encoded picture; (B) estimating a respective number of bits used to encode said first macroblocks within each of said classes; and (C) based on said estimating in step (B), determining a quantization level subsequently used to quantize at least one of a plurality of second macroblocks in a second picture that have yet to be encoded.
11. The method according to claim 10 , further comprising the step of: measuring a respective one of said first statistics for each of said first macroblocks.
12. The method according to claim 10 , wherein said respective number of bits are used in an adaptive quantization for encoding said second macroblocks.
13. The method according to claim 10 , wherein step (C) comprises the sub-step of: determining a respective quantization level for each of said classes based on said respective number of bits, wherein said respective quantization levels are subsequently used to quantize said second macroblocks per said classes.
14. The method according to claim 13 , wherein step (C) further comprises the sub-step of: computing a respective complexity for each of said classes based on said first macroblocks within said classes, wherein said respective quantization levels are further based on said respective complexities.
15. The method according to claim 10 , further comprising the step of: allocating a fraction of a total number of bits available for encoding among said classes independently of a respective class complexity for each of said classes.
16. The method according to claim 10 , wherein each of said respective first statistics comprise a measure of spatial activity in one of said first macroblocks.
17. The method according to claim 10 , step (A) comprises the sub-step of: allocating each of said first macroblocks having said respective first statistic less than a first threshold to a first of said classes.
18. The method according to claim 17 , wherein step (A) further comprises the sub-step of: allocating each of said first macroblocks having said respective first statistic greater than said first threshold and less than a second threshold to a second of said classes.
19. A circuit comprising: a classifier module configured to divide a plurality of first macroblocks in a first picture into at least two classes based on (i) a plurality of first statistics and (ii) previous activity of a previously encoded picture; an encoder module configured to determine a respective number of bits used to encode said first macroblocks within each of said classes; and a controller module configure to determine a quantization level subsequently used to quantize at least one of a plurality of second macroblocks in a second picture that have yet to be encoded based on said respective number of bits.
20. The circuit according to claim 19 , wherein (i) said controller module is further configured to determine a respective quantization level for each of said classes based on said respective number of bits and (ii) said respective quantization levels are subsequently used to quantize said second macroblocks per said classes.
21. The circuit according to claim 20 , wherein (i) said controller module is further configured to compute a respective complexity for each of said classes based on said first macroblocks within said classes and (ii) said respective quantization levels are further based on said respective complexities.
22. The circuit according to claim 19 , wherein said classifier module is further configured to calculate a total activity value for said first macroblocks and transfer said total activity value to said controller module.
23. The circuit according to claim 19 , wherein said at least two classes comprises four classes for each of a plurality of picture types.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 30, 2005
October 26, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.