[Speex-dev] What establishes "average" bitrate in Variable Bitrate (VBR) Mode?
Randy Yates
yates at ieee.org
Mon Apr 12 05:14:00 PDT 2010
Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> writes:
> On 2010-04-11 10:09, Randy Yates wrote:
>> If I specify VBR mode via
>>
>> speex_encoder_ctl(pSpeexEncoder, SPEEX_SET_VBR,&isTrue);
>
> Try:
>
> speex_encoder_ctl(pSpeexEncoder, SPEEX_SET_ABR, &desiredRate);
Jean-Marc,
There is a disconnect here somewhere. ABR is "average bitrate mode."
This is not the mode I am referring to. I am referring to VBR mode.
Let me try to explain my question better.
In constant bitrate mode, we are forced to specify that the encoder
perform at a certain "quality" (not the quality parameter, but quality
in terms of the mean-square error between the original signal and the
reconstructed signal) because we MUST specify the bitrate (assuming a
fixed value of complexity).
In variable bitrate mode, there is no direct way (that I see) to specify
the quality. However, given that the bitrate is less than the entropy
rate [cover] of the signal, the quality (or performance, if you will)
will be less than perfect.
So my question is, in VBR mode, is there a way to specify how much less
than "perfect" the codec will perform at?
Here's another question that perhaps asks the same thing in a much
different (and more practical) way: If I run the encoder in VBR mode,
encode a signal, and get a file size of x kilobytes, is there some way
to reconfigure the encoder so that I will get a file size of y
kilobytes, y < x, given that I am willing to accept a lesser quality
signal?
--Randy
@book{cover,
title = "Elements of Information Theory",
author = "Thomas M. Cover and Joy A. Thomas",
publisher = "John Wiley and Sons, Inc.",
year = "1991"}
--
Randy Yates % "With time with what you've learned,
Digital Signal Labs % they'll kiss the ground you walk
mailto://yates@ieee.org % upon."
http://www.digitalsignallabs.com % '21st Century Man', *Time*, ELO
More information about the Speex-dev
mailing list