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: FDK-AAC & QAAC : Bitrate Distributions in Cool Graphs (Read 9688 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

FDK-AAC & QAAC : Bitrate Distributions in Cool Graphs

How variable is the VBR? How conservative is the CBR mode? How would bitrate distribution for a song would look like on a graph?

Well this post will try to visualize such notions. Graphs might not tell the audio quality of an encode but it might give us an insight into how the bits are distributed and how different presets are closer and farther to each other.

The X-axis denotes the bitrate in kilobytes.
The Y-axis shows how frequent the bitrate is. If 128k is at 15%, it means 15% of the audio file is encoded at 128k discretely.
The vertical line represents the most frequent bitrate in the audio file.

The source file for all encodes is "They Don't Care About Us" by Michael Jackson from the album "The Essential Michael Jackson".

Let's start with the encoder that works in most platforms: FDK AAC

FDKAAC:: Bitrates: 96k vs 128k vs 160k vs 190k vs 256k vs 320k



No surprises here.

Now the bitrate modes.
FDKAAC:: bitrate mode 1 vs 4 vs 5



Bitrate mode 5 is a lot less conservative than modes 1 & 4. Probably because lowering bitrates from 256k doesn't adversely affect the audio quality. I think bitrate mode 5 is for people who do MP3 CBR 320k. Mode 5 is it's own thing: look how far mode 4 is and how close mode 1 & 4 are. There are two whole mode between them!

FDKAAC:: bitrate mode 4 vs bitrate 128k



Bitrate mode 4 is very close to cbr 128k. I think of bitrate modes as preset by developers. It's like developers saying "Hey you want to encode at 128k? Check out bitrate mode 4 to get the best out of fdk-aac at that bitrate. You want 256k? Beat yourself out with bitrate mode 5."

FDKAAC:: bitrate 192 vs bitrate mode 5 vs bitrate 320



Bitrate mode 5 's range spans all of CBR 192k and CBR 320k.

Now to the most popular AAC encoder-- you guessed it right, Apple's QAAC.

QAAC has so many encoding modes a beginner would be overwhelmed.

Apple AAC:: bitrate 96k: TVBR vs CVBR vs ABR vs CBR



So much for all the modes. Speculation : This is only a histogram of the bitrates; even though the distribution seems almost same each mode MAY shuffle bits to it's own liking throughout of the duration of the audio file. Or NOT.

Apple AAC:: bitrate 96k: TVBR vs CVBR vs ABR vs CBR - SEPERATE

Now in fancy separate boxes.



The trend continues...

Apple AAC:: bitrate 128k: TVBR vs CVBR vs ABR vs CBR



Apple AAC:: bitrate 160k: TVBR vs CVBR vs ABR vs CBR



Apple AAC:: bitrate 192k: TVBR vs CVBR vs ABR vs CBR



Apple AAC:: bitrate 256k: TVBR vs CVBR vs ABR vs CBR



Apple AAC:: TVBR: bitrate 96k vs 128k vs 144k vs 160k vs 192k vs 256k vs 320k
For good measure:


The higher the bitrate the more "truly" variable it gets.

It's a bird! It's a plane!! It's the codec to end all codecs!!!

FDK AAC & OPUS

FDKAAC:: bitrate mode 4 vs bitrate 128k vs opus 128k



QAAC & OPUS

Apple TVBR 96k vs OPUS 96k

(wrongly labeled as CVBR)

Apple TVBR 128k vs OPUS 128k


OPUS is much more conservative than QAAC's TVBR. TVBR doesn't stay with a single bitrate for more than 5% of the time. OPUS on the other hand stays at the give bitrate for a good 20% of the time. But OPUS doesn't shy away from going much higher if only for a while.

FDK AAC & QAAC

Apple AAC TVBR 96k vs FDK AAC 96k


To be fair FDK AAC treats "--bitrate 128" as CBR mode.

Apple AAC TVBR 128k vs FDK AAC 128k


Apple AAC TVBR 128k vs FDK AAC bitrate mode 4

Is QAAC allocating more bits than FDK AAC most of the time? Pragmatic. What's a few bits if it really increases the quality.

Apple AAC TVBR 256k vs FDK AAC bitrate mode 5


FDK's bitrate mode 5 puts "True" VBR to test.

All graphs generated by a rather modified version of this script.

All images at one place.

Re: FDK-AAC & QAAC : Bitrate Distributions in Cool Graphs

Reply #1
About Apple's codec modes, what was said (and what your graphs mostly confirm) is:

CBR: Similar to MP3 CBR with bit reservoir, but without the limited sets of bitrate of MP3.  (In your graph, it's the one with the highest percentage on the center bitrate)

ABR: Like AAC CBR, but with a wider window (I.e. it intends to target a bitrate, allows to increase, but then it has to reduce to keep the target)

CVBR: It's actually ABR, but it is allowed to go up in bitrate. You can see that when you compare ABR and CBR on your graphs, you draw the line more to the left on CVBR and more to the right on the ABR.
Said this, there's something that looks strange in the 192K graph. Visually, it seems that the area on the right of the bar is bigger on the CBR than on the ABR, but you indicate that they have the same global bitrate. Maybe it's just a visual effect..

TVBR: They initially sold this as "true variable bitrate" (when people said that VBR wasn't VBR), but when you compare it to Nero or FDK, it clearly has a more limited window. In your graphs, it seems too similar to CVBR, so I'm not sure if there's some error, or the song itself, or if the implementation of the modes is more similar now. Supposedly, you should get something wider and less tall than CVBR.


Finally, about Opus. Currently it does not have a true VBR engine, so it works more like ABR without a higher constraint than to FDK's VBR.

Re: FDK-AAC & QAAC : Bitrate Distributions in Cool Graphs

Reply #2
Finally, about Opus. Currently it does not have a true VBR engine, so it works more like ABR without a higher constraint than to FDK's VBR.
OP is all about bitrate distribution on one singe track. Well, You already know what it means.

Refer yourself to 'bitrate distribution' part on multiple samples  https://listening-test.coresv.net/results.htm

Re: FDK-AAC & QAAC : Bitrate Distributions in Cool Graphs

Reply #3
Finally, about Opus. Currently it does not have a true VBR engine, so it works more like ABR without a higher constraint than to FDK's VBR.

Just in case, I will reword my sentence, since my memory seems not to be correct. I thought jmvalin said once that the codec didn't have a true quality-based VBR engine, but all that I could find was this post, which is about mono and 5.1.

I might have also mixed codecs and my misconception could have come from FAAC.

Re: FDK-AAC & QAAC : Bitrate Distributions in Cool Graphs

Reply #4
I think there isn't point to spend time figuring out what is "true" vbr.  It has different meanings for different people, interpretations and implementations. CBR is short window ABR for AAC and so on.

All I know that Opus has very wide VBR as the link that I provided indicates.  And original post can lead to wrong conclusion (unintentionally) based on a study of one single song.

P.S. Also some modern formats (Opus as well) use inter-frames and intra-frequency  predictions which means that bits can be virtually moved even in pure CBR mode. Mind-blowing.

Re: FDK-AAC & QAAC : Bitrate Distributions in Cool Graphs

Reply #5
Nice topic I run by. In my experience FDK-AAC VBR 5 has huge variations in bitrate and I kinda like it. Opus on the other side is very variative as well. Can't say the same about QAAC, it has more stable bitrates in my experience.
Opus VBR 256 + SoX