Video Quantizer Selection via Macroblock Activity Grouping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In video compression systems, selecting optimal quantizer values for macroblocks is challenging due to the need to balance bit rate and picture quality, especially in areas of varying activity, where artifacts are more visible and bit allocation must be efficiently distributed across macroblocks to maintain consistent quality.
Innovation Solution
A method involving estimating macroblock sizes in the transform domain, grouping macroblocks by activity, determining average activity, and calculating quantization values based on a predetermined bit rate using a simplified coding process and linear relationships to ensure consistent bit allocation across similar activity levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a high quantizer value Qp is used to reduce bit rate, then fewer bits are used for coding and bit rate is reduced, but picture quality is impaired and artifacts become more visible
Solution Approach 1:
The patent applies local quality by assigning different quantizer values to different macroblocks based on their activity levels. Low activity macroblocks receive lower quantizer values to preserve quality, while high activity macroblocks receive higher quantizer values to reduce bit rate, optimizing the overall balance between quality and bit rate.
Solution Approach 2:
The patent dynamically changes the quantizer value parameter based on the activity measure of each macroblock. The activity measure, calculated from the sum of absolute values of transform coefficients, drives the selection of appropriate quantizer values from a predefined table, allowing adaptive parameter adjustment.
2Manufacturing precision
If a low quantizer value Qp is used to maintain picture quality, then more bits are allocated and picture quality is maintained, but transmitted bit rate increases
Solution Approach 1:
The patent applies local quality by assigning different quantizer values to different macroblocks based on their activity levels. Low activity macroblocks receive lower quantizer values to preserve quality, while high activity macroblocks receive higher quantizer values to reduce bit rate, optimizing the overall balance between quality and bit rate.
Solution Approach 2:
The patent dynamically changes the quantizer value parameter based on the activity measure of each macroblock. The activity measure, calculated from the sum of absolute values of transform coefficients, drives the selection of appropriate quantizer values from a predefined table, allowing adaptive parameter adjustment.
3Manufacturing precision
If different quantizer values are assigned to macroblocks of different activity levels, then bit allocation is optimized and artifacts are reduced, but the complexity of selecting appropriate quantizer values increases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing quantizer values in a table for different activity levels and quantizer parameter combinations. During encoding, the system simply looks up the appropriate quantizer value based on the calculated activity measure, avoiding complex real-time optimization calculations.
Solution Approach 2:
The patent dynamically changes the quantizer value parameter based on the activity measure of each macroblock. The activity measure, calculated from the sum of absolute values of transform coefficients, drives the selection of appropriate quantizer values from a predefined table, allowing adaptive parameter adjustment.
Data Source
AI summary
A method of obtaining a quantization value for macroblocks of a picture for video compression includes estimating 11, for a plurality of quantization values, a size of the picture in terms of a sum of all quantized coded coefficients. A linear relationship between a size of a macroblock and Activity of the macroblocks is assumed 12, where the Activity of the macroblock is the number of coded coefficients in the macroblock before discarding any coefficients or quantizing the remaining coefficients. The macroblocks are divided 13 into groups by their Activity level such that substantially a same number of pre-quantization coefficients are in each group. An average Activity of each group is determined 14. A quantization value for each group is determined 15 from the assumed linear relationship between a number of bits per macroblock and Activity of the macroblocks and the average Activity of the group, as imposed by a predetermined bit rate.


