The purpose of Rate Control is to determine a quantization parameter QP for a block (or for a frame) by using the MAD or SAD or other appropriate metric.
On the other hand the MAD/SAD of the block (or the frame) can be computed only after determination of QP, because MAD (as well as SAD) is a distance between original and reconstructed pixels and reconstructed pixels can be calculated with QP.
It’s similar to Liar’s paradox. How to break this vicious circle?
For example, popular R-D function is realized as follows:
In order to compute MAD one needs to know Qstep , on the other hand to calculate Qstep one needs to know MAD.
This paradox is solved by taking the MAD of previous block, or temporally allocated block (because block sizes might differ some normalization of MAD magnitude can be required). General approach is to predict MAD, sometimes a simple model is used:
MADcur = a1 × MADpre + a2
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume