<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 30/08/2009, at 9:39 AM, Remco wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; ">And just out of curiosity, how are the quality levels translated into<br>an encoding strategy? Are these quality levels mapped to advanced<br>internal encoder options, or is the encoder basically one big<br>mathematical equation that takes one parameter? (besides the video<br>input, obviously)</span></blockquote></div><br><div>IANAE, but this is from&nbsp;<a href="http://web.mit.edu/xiphmont/Public/theora/demo6.html">http://web.mit.edu/xiphmont/Public/theora/demo6.html</a> and should be reliable.</div><div><h3></h3><blockquote type="cite"><h3>lambda/qi mapping and rate/distortion modeling</h3><p>In order for a video encoder to be easy to use, it needs simple
    tuning knobs to effect 'simple' behavioral changes, such as a
    single master adjustment for output bitrate or constant output
    quality, although this might internally translate into hundreds of
    parameter changes.

    </p><p>With the unification of all the rate-distortion lambdas into a
    single unified lambda value, output quality is governed by two
    master values, the quantizer index (in Theora, an integer between
    0 and 63) and the rate-distortion lambda.  Although the two values
    are not directly fundamentally related, an efficient encoder
    chooses lambda and qi such that the output distortion is minimized
    for a given bitrate much the same way token or block coding
    decisions are made by trading the bitrate and distortion costs.

    </p><p>Once it was possible to choose an appropriate lambda for a
    given qi and vice versa, Thusnelda finally had a single master
    knob to allow a user to set a constant quality mode.  Constant and
    average bitrate modes (rate control) is implemented in terms of
    varying qi according to predicted bit usage and distortion over a
    set of frames.  Thusnelda, as it turns out, follows classical
    predictions for bit usage according to 'rho-domain analysis',
    which predicts that bit usage in any given frame is roughly
    linearly related to the number of nonzero DCT coefficients in that
    frame. &nbsp; &nbsp; &nbsp;</p></blockquote></div></body></html>