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: A weak point of HE-AAC (Read 761 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

A weak point of HE-AAC

Hello. Recently, I've discovered a weak point of HE-AAC: It does not use pure MDCT at all for the frequency range that is handled by SBR. It may sound like that this is not a weak point, but it is: it causes HE-AAC to give very poor results at pure-like or pure tones at high frequencies. This is especially obvious on the sweep file I attached. I have three questions:

1: Is it possible to overlap pure MDCT and SBR in AAC?
2: Why does AAC porhibit or at least limit overlapping of pure MDCT and SBR while it is very helpful on pure-like or pure tones?
3: Does xHE-AAC do that with most-used encoders, too? If yes, does it support overlapping of pure MDCT and SBR completely? If no, does it do that at least partially?

(Note: While I don't trust AI, I asked this to Google Gemini for curiosity and simplified versions of it's answers are "?"-"complexity"-"yes" while "?" means it's unclear that whether it says yes or no.)
(Edit: Note 2: This sound file is longer than 30 seconds but that shouldn't matter as frequency sweeps cannot be copyrighted.)

Re: A weak point of HE-AAC

Reply #1
The point of SBR is to reduce the file size. High frequency content isn't encoded but an approximation of it is reconstructed during playback, which works decently for normal audio. The guesses it makes can't of course be as good as encoding the signal as-is, but encoding all frequencies would mean either reduced quality everywhere or using more bits to increase the file size.

xHE-AAC has more advanced tools for encoding everything, including improved SBR. I'd assume Fraunhofer's encoder is the most widely commercially used version and I have no doubt it uses all the features of the format for lowest bitrates.
The open source exhale encoder doesn't implement any of the advanced tools that help with low bitrate quality, so no SBR there.

Re: A weak point of HE-AAC

Reply #2
The point of SBR is to reduce the file size. High frequency content isn't encoded but an approximation of it is reconstructed during playback, which works decently for normal audio. The guesses it makes can't of course be as good as encoding the signal as-is, but encoding all frequencies would mean either reduced quality everywhere or using more bits to increase the file size.

xHE-AAC has more advanced tools for encoding everything, including improved SBR. I'd assume Fraunhofer's encoder is the most widely commercially used version and I have no doubt it uses all the features of the format for lowest bitrates.
The open source exhale encoder doesn't implement any of the advanced tools that help with low bitrate quality, so no SBR there.

I think I couldn't make myself clear enough. In my idea, pure MDCT will be used for SBR's frequency range only if the content is too hard for SBR but easy enough for pure MDCT, in other words, if encoding some of the content in SBR's frequency range would be more efficient with pure MDCT than SBR. So, pure MDCT still won't be used for that frequency range for most sounds. I want to attach that sweep encoded with less than 12kbps AAC-LC that sounds much better.

 

Re: A weak point of HE-AAC

Reply #3
The open source exhale encoder doesn't implement any of the advanced tools that help with low bitrate quality, so no SBR there.

Wrong. Exhale has SBR, but lacks support for eSBR and PS.

By the way, even Fraunhofer xHE-AAC has problems to encode the frequency sweep with low bitrate.

Re: A weak point of HE-AAC

Reply #4
The open source exhale encoder doesn't implement any of the advanced tools that help with low bitrate quality, so no SBR there.

Wrong. Exhale has SBR, but lacks support for eSBR and PS.

By the way, even Fraunhofer xHE-AAC has problems to encode thos frequency sweep with low bitrate.

You answered the first part of my third question, thanks. Do you know anything about the other parts of my third question or my first question or https://hydrogenaud.io/index.php/topic,126778 (I thought maybe you tried it as you said that)?

Re: A weak point of HE-AAC

Reply #5
1: Is it possible to overlap pure MDCT and SBR in AAC?
Maybe? The MPEG standard requires HE-AAC decoders to decode the SBR component even if they have to halve the output sample rate, which suggests that SBR might be able to do something useful even when it overlaps the AAC LC component.

You can try doubling the sample rate before you encode your audio to HE-AAC so the AAC LC component's sample rate will be the same as the original sample rate.

Re: A weak point of HE-AAC

Reply #6
1: Is it possible to overlap pure MDCT and SBR in AAC?
Maybe? The MPEG standard requires HE-AAC decoders to decode the SBR component even if they have to halve the output sample rate, which suggests that SBR might be able to do something useful even when it overlaps the AAC LC component.

You can try doubling the sample rate before you encode your audio to HE-AAC so the AAC LC component's sample rate will be the same as the original sample rate.

I've tried it and got a worse result.