<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 <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. </p></blockquote></div></body></html>