[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