[opus] Opus for speech: VBR vs CBR
Basil Mohamed Gohar
basilgohar at librevideo.org
Thu Jan 22 18:20:59 PST 2015
On 01/21/2015 07:51 PM, Daniel K wrote:
> Hi guys,
> I'm using Opus for speech in wide-band mode (sampling rate 16000) and
> 20ms frames with signal type set to SIGNAL_VOICE.
> I have a few questions here:
> When I choose VBR mode, the codec seems to choose the bitrate on its own.
> However, that seems to be an issue on mobile devices. In some cases,
> when I configure the bitrate to say 20kbps, I see that the outgoing
> codec bitrate at runtime is sometimes far less (11-12kbps even). That
> leads to a lower received audio quality.
> When I choose CBR mode however, the outgoing bitrate is fixed at 20kbps
> and produces better audio quality.
> Is there a way to bias the VBR mode to use a value closer to the
> configured target bitrate or fix this low bitrate issue in any other way?
> When using CBR mode, there seems to be an issue when I use frame sizes
> >20ms. On the receiving end, there appears to be a distortion (a
> crackling noise) that does not happen when using VBR mode on the
> encoding side (all else the same).
> Has anyone experienced this and/or can suggest a fix/workaround for this
> Overall, is using VBR vs CBR mode noticeably better or worse in terms of
> quality/bitrate? Any recommendations here?
> Thank you!
When you say, "lower perceived quality" at the lower rates, did you actually do a comparison, or are you assuming it must be lower quality because it's fewer bits? If the quality is lower when the bitrate the rate controller chooses drops, then that's a bug, because the default, VBR mode should maintain a consistent quality even if the bitrate fluctuates. In fact, the bitrate should vary because different segments of audio, voice or otherwise, do not require the same bits for the same quality.
More information about the opus