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: is AAC VBR by Nature? (Read 5014 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

is AAC VBR by Nature?

Hi everybody,

I've heard that AAC was VBR by nature. is it true?
I've not found any encoding tools that proposes CBR/VBR option for encoding. Does it means that encoded files are VBR?

If any AAC guru can answer me on that, It would be great!

Thanks in advance,

Antoine

is AAC VBR by Nature?

Reply #1
AAC frames don't have identical sizes if that's what you're asking.  A CBR AAC file is really really strict ABR.  I believe there is a concensus on what exactly makes a CBR AAC file (it doesn't deviate so far from it's average).

A VBR file is of course unrestricted in how far it can deviate and doesn't really aim for a specific bitrate.

Hope this helps
Nero AAC 1.5.1.0: -q0.45

is AAC VBR by Nature?

Reply #2
This is really the same for MP3 and Vorbis as well...

is AAC VBR by Nature?

Reply #3
Ok,

First, thanks for the quick answers.

I agree that AAC frames are not constant length. This obviously implies that AAC is not strictly CBR.

But by default, does all the encoders have algorithms that are able to determinate the number of bits to use by frame, such as not encode silents or use more bits for 'stressed' moment of the track? Is it specified in AAC spec?

In this case, when you encode a file with your favourite AAC encoder, the chosen bitrate would be in fact an ABR?

Could you answer me on that?

Antoine

is AAC VBR by Nature?

Reply #4
Quote
I agree that AAC frames are not constant length. This obviously implies that AAC is not strictly CBR.

No really.
In case of Layer I/II/III, a cbr stream has frames with constant size.
But even in a scheme where frames do not have a constant sizes (like AAC), you can still produce a CBR stream if your encoder is taking care of it. It will not be CBR of you consider only 2 successives frames, but it can still be CBR over a short period of time.

This is still CBR, and the MPEG-1 audio CBR is just way more restrictive.

is AAC VBR by Nature?

Reply #5
Quote
But by default, does all the encoders have algorithms that are able to determinate the number of bits to use by frame, such as not encode silents or use more bits for 'stressed' moment of the track? Is it specified in AAC spec?

In this case, when you encode a file with your favourite AAC encoder, the chosen bitrate would be in fact an ABR?

Could you answer me on that?

Antoine
[a href="index.php?act=findpost&pid=296845"][{POST_SNAPBACK}][/a]


AAC specs don't specify anything about encoders. An encoder can pretty much do whatever it wants to do as long as the resulting stream is decodable.

All AAC decoders are required to handle VBR, ABR and CBR. (Just like MP3 decoders, for that matter!)

 

is AAC VBR by Nature?

Reply #6
Two things matter here: target bitrate and bit-reservoir. Target bitrate is defined by the user, bit-reservoir is defined (indirectly) by the maximum frame size, which is defined by the standard to be 6144 bits per channel: bit reservoir = max frame size - average frame size.

Target bitrate gives you AVERAGE (wishfull) frame size. If there are saved bits in the bit-reservoir, encoder can borrow them in case it has a hard-to-encode frame. This means that, hipoteticaly, your (stereo) frame at 128000 bps can have the bitrate of 529000 bps (you do the math!), and you can still call it a CBR. It just isn't that meaningfull to base your conclusion on a single frame. The following frames will have an empty bit-reservoir and their bitrate will have to be less than or equal to the average. Eventualy you will end up with average bitrate more or less close to your target bitrate.

The most common thing among present AAC encoders is saving bits to bit-reservoir during the stationary parts of the signal (encoding at lower bitrate) and spending this saved bits at harder parts of the signal (transients, etc...) if/when they come.

And yes, there are encoding apps that offer CBR/VBR option, Nero for example.

Take a look here to see how "CBR" really looks.

Daniel