Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Does ABR offer better quality over VBR on low bitrates? (Read 6639 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Does ABR offer better quality over VBR on low bitrates?

From the Lame wiki:
Quote
For very low bitrates, up to 100kbps, ABR is most often the best solution.

As far as I understand the according concecepts, the quality of a VBR encoded file should (theoretically!) always be superior to an ABR file of the same size. The only advantage of ABR over VBR is the exact prediction of the file's size. So either this quote is misleading (if not wrong) or there have to be a problem with Lame's VBR model at low bitrates (V 8 or V 9)?

Does ABR offer better quality over VBR on low bitrates?

Reply #1
The trouble with mega-low VBR mp3 is with low volume material. The bitrate will dip and the ringing will rise. Lame is crippled below 100k so vbr will collapse it even more since vbr needs stability first.

Does ABR offer better quality over VBR on low bitrates?

Reply #2
The quote is not wrong, nor misleading.

ABR and VBR work fundamentally different. The way they have to target a "quality" is different, so the end result is not comparable in all the levels.

Take any file you want and encode it with -V8 or -V9. See the average bitrate of the file, and encode it with abr with that target bitrate. (note that -V 9 resamples to 22Khz)

The VBR file will experience quality collapse. This happens because it uses too low bitrate in some circumstances, whereas the ABR one keeps around the target bitrate.

Why does VBR perform this way?
First, it's not its main usage, so it has seen less tuning.
Second, as i explained in a recent thread, the vbr quality is not linear, because the changes from value to value aren't linear either. As such, what works at higher targets can prove to be bad at lower settings. (hence, the need for the first point).
Third, (and related also with points first and second), a psychoacoustic model can't be perfect so it can be misinterpreting the quality it gets with the bitrate it uses.

Add to this possible bugs, or workarounds implemented for higher settings that adversely affects lower settings, and you might have it.

Does ABR offer better quality over VBR on low bitrates?

Reply #3
Thanks a lot for the clarification. I do now understand the meaning of the quoted line - but doesn't that discredit another, much more common claim, that VBR is generally superior to ABR (using such notation as VBR > ABR > CBR)?

However, it seems to me that this is a consequence/limitation of Lame's implementation of the VBR model. Theoretically VBR should be superior in any case. If Lame actually proces superior results with ABR on the same bitrate, then Lame's VBR model needs further optimization on low bitrates. More precisely: the bitrate spread-curve should be tightened for high V-values (if necessary up to be identical to its ABR equivalent) in order to avoid these collapses. So why not make Lame's VBR model behave more non-linear through the V-range?

Does ABR offer better quality over VBR on low bitrates?

Reply #4
Thanks a lot for the clarification. I do now understand the meaning of the quoted line - but doesn't that discredit another, much more common claim, that VBR is generally superior to ABR (using such notation as VBR > ABR > CBR)?
Not really. The vast majority of people who use LAME VBR mode will be encoding somewhere between -V6 and -V2 where VBR is generally considered to have the edge over ABR in terms of quality versus filesize, to the best of my knowledge. There's only so much you can achieve with a given number of bits and VBR is not the way to go with an already very low average bitrate due to the larger dips in bitrate compared to ABR when the encoder is already, strictly speaking, bitrate-starved.

Although the current LAME VBR model works very well indeed within sensible limits, MP3 as a standard in general doesn't work very well when constantly forced to use very low bitrates. It was never really designed to be used that way, so it's a losing battle even trying really. In other words, what you see at these very low bitrates is a limitation of MP3 in general, not of LAME specifically. There are other encoding standards that are much better suited to very low bitrate encoding.

Cheers, Slipstreem. 

Does ABR offer better quality over VBR on low bitrates?

Reply #5
Slipstream, your arguments are valid but they do not contradict what Northpack said.

I think you're looking at this too much from a technical POV, and not enough from an interface-design and usability POV.

From an interface-design POV, what matters is what the user wants to achieve, and how to best achieve that. In other words, it has to do with tasks and intentions.

When a user chooses between CBR, ABR and VBR, he usually implicitely is saying the following:

VBR: "I want the choosen quality constantly. Use any means available to achieve this as best as possible"
ABR: "I want the choosen filesize/average bitrate. Use any means available to optimize quality as long as the mentioned goal is reached."
CBR: "I want a fixed constant bitrate and the highest possible compatibility."

Considering the goal of VBR mentioned above - constant quality first - and knowing that because of encoder/format limitations, it cannot be done efficiently at the low end, the encoder should adapt to it by using a less "dynamic" strategy for bitrate allocation - thus trying to come as close as possible to the original request: "I want the choosen quality constantly. Use any means available to achieve this as best as possible"

Not easy to accept for a "programmer"? Sure. But programming is just one part of software-design.
I am arrogant and I can afford it because I deliver.

Does ABR offer better quality over VBR on low bitrates?

Reply #6
I agree with you totally!

As you suggested recently in another thread, the easiest solution to this without reworking of the internal code itself would be to map the lowest quality settings in VBR to the equivalent average bitrate settings in ABR. As we're falling off the bottom end of what can be achieved with the MP3 standard from a purely technical point of view when using -V8 and -V9, this might be the best solution anyway.

I've also been wondering if it's possible to use a purely numerical argument as a switch to negate the need for another switch name. Could we just have "LAME -0" through "LAME -9" as below?...

New - Old

-0 = ABR288
-1 = -V0
-2 = -V1
-3 = -V2
-4 = -V3
-5 = -V4
-6 = -V5
-7 = -V6
-8 = ABR96
-9 = ABR64

The steps in average bitrate from one setting to the next still wouldn't be linear, but it would encapsulate the best of all worlds as currently available, IMHO. Just a thought.


EDIT

Having just carried out a simple test comparing -V8 to ABR96 and -V9 to ABR64, I'm becoming more convinced that this could provide an adequate fix in reality.

I took a two and a half minute original CD track containing a mix of music and speech and encoded it to all four formats (and -V6 as a high anchor) with the latest version of LameDropXPd which uses LAME3.98.2 in order to make a comparison of perceived audible quality and filesize. I imported all four files into Audacity to check the upper cut-off frequency and also into EncSpot to determine the spread of data rates used throughout the encodings. My findings were as follows...

1/ Upper cut-off frequencies for both substitutions remained almost identical.

2/ The ABR files showed an improvement over the VBR files in audible quality in both cases sufficient to make a blind comparison test unnecessary. A reduction in warbling and dropouts was very clearly evident in both cases.

3/ Ignoring bitrates used to represent digital silence, bitrate spread in -V8 versus ABR96 was reduced from 48Kbps to 224Kbps down to 64Kbps to 160Kbps respectively.

4/ Bitrate spread in -V9 versus ABR64 was reduced from 32Kbps to 144Kbps down to 40Kbps to 128Kbps respectively.

5/ A listening comparison between ABR64, ABR96 and -V6 showed a perceived incremental improvement in quality that made the ratio between relative average bitrates (hence filesize and compression ratio) also sound logical, IMO anyway.

Filesizes were as follows with compression ratios rounded to the nearest integer shown in brackets...

-V6 = 2.15MB (12:1),
-V8 = 1.63MB (15:1),
ABR96 = 1.63MB (15:1),
-V9 = 1.21MB (21:1),
ABR64 = 1.11MB (23:1).

I realise that one simple test isn't conclusive proof of anything, but I found it an interesting experiment nonetheless and felt the urge to share.

Cheers, Slipstreem. 

Does ABR offer better quality over VBR on low bitrates?

Reply #7
@slipstream

Good idea IMO :) The only thing which i'd perhaps do differently is -0 . I am not sure if this perhaps should instead be ABR 288 instead of CBR 320. The reason for this is the following: If i understood matters right, then an MP3 frame may not exceed 320kbit INCLUDING the bit-reservoir - in that case, the bit-reservoir is constantly empty at 320kbit CBR. Plus, i know of no killer sample which works better at 320 CBR than at 288 ABR. So in short, i really consider CBR 320 to be space-wasting... the only point to it IMO really is compatibility and simplicity.

BTW: I also proposed a generic audio encoder CLI-interface in another thread. However, applying it to lame would probably require significant changes in its underlying code.
http://www.hydrogenaudio.org/forums/index....showtopic=66587
I am arrogant and I can afford it because I deliver.

Does ABR offer better quality over VBR on low bitrates?

Reply #8
I respect your knowledge on killer samples. I wasn't too sure on the absolute necessity of CBR320 to be honest, and its inclusion in my notional scheme was partly to keep the CBR320 fanboys happy.

I like your idea for a proposed encoder interface but have almost no skills in the programming department unfortunately. I'd gladly help you on that front if I could, if partly out of curiosity at the end result. It sounds very interesting.

My next project will most likely be the creation of custom encoding presets in Foobar2000 for my own personal use following the scheme above but with ABR288 in place of CBR320. It should hopefully be a simple case of selecting "LAME -0", "LAME -1", etc, from the pull-down "Encoding Preset" option if all goes well. I need to learn how to create the custom profiles first though.

Cheers, Slipstreem. 

PS I've edited the post above in line with your recommendation.

Does ABR offer better quality over VBR on low bitrates?

Reply #9
VBR should not produce (much) worse results at the same bitrate than ABR. If the LAME VBR model is ineffective at low bitrates then the settings should be removed until the VBR model is fixed.