[MPlayer-DOCS] Some precisions about cbp and qprd

Michael Niedermayer michaelni at gmx.at
Fri Sep 3 16:36:56 CEST 2004


Hi

On Friday 03 September 2004 15:26, Guillaume POIRIER wrote:
> Hi there,
> I'm working on the translation of English manpage to French.
> I'm having trouble to understand libavcodec's "cbp" and "qprd"
>
> Here's how cbp is documented:
>
> .B cbp\ \ \ \
> Rate distorted optimal coded block pattern.
> Will select the coded block pattern which minimizes distortion +
> lambda*rate.
> This can only be used together with trellis quantization.
>
> is that equivalent to:
> .B cbp (trell only)
> selects a block that has the best distortion rate, minimizing distortion
> + lambda*rate
>
> same for qprd:
> .B qprd\ \ \
> rate distorted optimal QP for the given lambda of each macroblock, note
> this
> needs mbd=2
>
> I'd tend to write something like:
> .B qprd (mbd=2 only)
> selects the QP that has the best distortion rate for a given lamda"
>
> And all in all, am I right to think that "distortion rate" means "how
> the encoded is close to original"?
well, "rate distortion" is what is used in the literature, i certainly agree 
that the term is a little weird though, what it means is the weighted sum of 
some distortion metric and the rate
where distortion may be the sum of absolute differences or squared differences 
or ...
and rate is simply the number of bits
so rate distortion optimal is simply the choice which has the lowest 
distortion + lambda*rate where lambda is a constant
this will not only try to choose a similarly looking block but also one which 
needs few bits to be stored

[...]
-- 
Michael
level[i]= get_vlc(); i+=get_vlc();  (violates patent EP0266049)
median(mv[y-1][x], mv[y][x-1], mv[y+1][x+1]); (violates patent #5,905,535)
buf[i]= qp - buf[i-1];    (violates patent #?)
for more examples, see http://mplayerhq.hu/~michael/patent.html
stop it, see http://petition.eurolinux.org & http://petition.ffii.org/eubsa/en




More information about the MPlayer-DOCS mailing list