[x264-devel] Re: bit allocation algorithms among frames

Tuukka Toivonen tuukkat at ee.oulu.fi
Fri Jul 14 09:11:02 CEST 2006


On Fri, 14 Jul 2006, Tuukka Toivonen wrote:

>Heck, this is almost like motion estimation: in ME you try to minimize 
>distortion+lambda*rate by changing mvx and mvy, why not trying to minimize 
>distortion+lambda*rate among frames by changing a vector of QPs?

What I really meant is described in this paper:
viola.usc.edu/newextra/Publication/PDF/ICIP/1995_ICIP_Lin.pdf
"gradient based rate control algorithm with applications to mpeg video"
(1995)
so nothing new really.

Instead of calling the encoder N times to get the criterion value (D+lR or 
whatever) to be minimized, one could also use models to approximate that 
instead of actually performing a full encode. (in that paper I believe they 
suggest spline-based R-D models, as in many newer Ortega papers as well).

And, you're not limited in allocating bits (finding QPs) just between 
frames, you could do the search for different MBs in a same frame too. You 
could either search a huge QP vector containing QPs of all MBs from a GOP 
or even whole video, or you could recursively have two or more hierarchical 
levels in the steepest descent search, the upper level would allocate QPs 
between frames, the lower level between MBs in a frame.

In ME you're actually approximating as well, as SAD between current block 
and reference frame is actually different than the real distortion after 
DCT+QUANT+IDCT. So one can either use very fast models or very accurate 
models or something between like in ME. The remaining problem is finding a 
good speed/quality balance.

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list