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: HE-AAC unofficial @ 96ksampling rate ? (Read 14541 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

HE-AAC unofficial @ 96ksampling rate ?

Hi,

Just curious, according to AAC specifications, 

- HE-AAC doesn't support > 48khz sampling rate
- HE-AAC doesn;t support VBR

May be I'm outdated.

I did some testing on few samples and find it almost equal to Opus but Opus is fixed at 48khz sampling where HE-AAC is same as my input (96khz) and low pass can be set by fdkaac.

It simply amazing what can this encoder do



Writing application            : fdkaac 0.5.3, libfdk-aac 3.4.12, VBR mode 4

Audio
ID                            : 1
Format                        : AAC
Format/Info                    : Advanced Audio Codec
Format profile                : HE-AAC / LC
Codec ID                      : 40
Duration                      : 3mn 36s
Bit rate mode                  : Variable
Bit rate                      : 132 Kbps
Channel(s)                    : 2 channels
Channel positions              : Front: L R
Sampling rate                  : 96.0 KHz / 48.0 KHz
Compression mode              : Lossy
Stream size                    : 3.40 MiB (99%)
Encoded date                  : UTC 2014-05-27 06:20:54
Tagged date                    : UTC 2014-05-27 06:20:54

HE-AAC unofficial @ 96ksampling rate ?

Reply #1
It simply amazing what can this encoder do
...
Format profile                : HE-AAC / LC
...
Bit rate                      : 132 Kbps
...
Sampling rate                  : 96.0 KHz / 48.0 KHz
HE-AAC works by encoding frequencies from the nyquist limit of the LC stream to double that limit; in this case, 24kHz to 48kHz.

Any good lossy encoder (based on a psychoacoustic model) will remove all frequencies above 20kHz, since you can't hear them.

Thus, you've encoded some perfectly normal 48kHz LC-AAC at 132kbps, minus some overhead from the empty HE portion of the stream.

HE-AAC unofficial @ 96ksampling rate ?

Reply #2
This is not something new. The older CT-AAC Winamp encoder was capable of encoding such files in the so called high bitrate mode which was only available in Winamp Pro (as far as i remember). The separate command line tool made for this by someone was capable of using this feature separately. I've experimented with it just shortly.

Actually it does what you are seeing in the printout: the base layer's sample rate is increased from 22.05kHz to 48kHz and during decode this is upsampled to 96kHz and extended via SBR. This also works with 88.2Khz (44.1Khz base layer).

In my tests i've found that in this configuration SBR is used for >16Khz frequencies at 128kbps and above. With a lower bitrate (eg. 96kbps, i think high bitrate was not working below 80kbps) the separation is somewhere 14kHz. This sounds a bit better than HE-AAC on tracks where there is a lot of tonal content between 10-14kHz. But using it at 128kbps and above you won't benefit too much since by normal musical content you won't really hear anything above 16kHz, the music masks it and SBR only replicates it with noise anyway. Better encoders like the Apple encoder already does better at 96kbps when you use the base layer AAC-LC alone.

So high bitrate HE-AAC doesn't really makes sense. It's only the technical info which looks "good".

HE-AAC unofficial @ 96ksampling rate ?

Reply #3
hi,

the file can be smaller, I use -w 32000 (low pass).

It sure looks good in spectrogram. it really reaches 30khz close to source.

aac-lc  won't able to look as good as he-aac. may be is limited by bitrate or psychoacoustic model.

sbr also really shines in replicating high frequency although we can't really hear it


HE-AAC unofficial @ 96ksampling rate ?

Reply #5
Hi,

After going through multiple listening test,  I've to admit, I couldn't distinguish high sampling & high bitrate HE-AAC(~128kbps)  from AAC-LC(~200kbps) other than 30-40% size reduction.


fdkaac.exe -p5  -w 19500

My summary compare with source :

-m 1  night and day, may be its better go for HE-AAC v2 -m 3
-m 2  good for portable device with casual listening
-m3  need concentration and selected material
-m 4  its too difficult to spot/test, not justified with the size
-m 5  its transparent but better go for AAC-LC


About HE-AAC v2 ,  IMHO the stereo  imaging is just disappear. Only recommended for < 32kbit

HE-AAC unofficial @ 96ksampling rate ?

Reply #6
It sure looks good in spectrogram. it really reaches 30khz close to source.

aac-lc  won't able to look as good as he-aac. may be is limited by bitrate or psychoacoustic model.

sbr also really shines in replicating high frequency although we can't really hear it


Answered yourself. We won't see but hear music so you can't assume something sounds better by looking at a spectrum. In this case it really misleading since HE-AAC completly alters the upper frequency region because it uses replication tricks to restore audio content from the lower region. The result might sounds acceptable but it's nowhere close to the original. Search for Spectral Bandwidth Replication (SBR) in Google to understand how HE-AAC works.

Also it's completely useless to store high frequency content if you cannot hear it. It makes no sense to spend bits by lossy encoding to something which doesn't make the overall quality better.

Human ear cannot hear anything above 20kHz anyway, so high resolution digital audio is not beneficial if you only use it for playback. I recommend this article for reading: 24/192 Music Downloads and why they make no sense

HE-AAC unofficial @ 96ksampling rate ?

Reply #7
Just curious, according to AAC specifications, 

- HE-AAC doesn't support > 48khz sampling rate
- HE-AAC doesn;t support VBR

This is false. Where did you read this?

Chris
If I don't reply to your reply, it means I agree with you.

HE-AAC unofficial @ 96ksampling rate ?

Reply #8
After going through multiple listening test,  I've to admit, I couldn't distinguish high sampling & high bitrate HE-AAC(~128kbps)  from AAC-LC(~200kbps) ...

"HE-AAC 128 vs LC-AAC 200 "? For what?
First of all try "HE-AAC 128 vs LC-AAC 128".
HE-AAC is only useful up to ~75 kbps, maybe for someone 80 kbps. But that's all. LC-AAC is overally better than HE-AAC at the same bitrate for 80 kbps and higer.


All these games with single rate SBR/AAC  at higher frequency are over and abandoned. AAC encoders are mature (I don't want to say the word "old" but it's true).
The most optimal settings are rather  by default (VBR). No trick here. You need low bitrate then go for HE-AACv2/v1  32-64 kbps (Winamp FhG ), need high bitrate - go for LC-AAC at 80 kbps and higher with state of art encoders like Apple and  the latest Winamp FhG AAC encoders.

P.S. LC- & HE- ~@80 kbps
No miracle for a beautiful world "efficiency" there but rather going for rationalism of blind test.

HE-AAC unofficial @ 96ksampling rate ?

Reply #9
sbr also really shines in replicating high frequency
You mean adding kludged images of lower frequencies to make you feel better via visual reinforcement?

Quote
although we can't really hear it
There’s no “really” about it when you’re talking about frequencies > 24 kHz. Thankfully you performed listening tests and realised this

HE-AAC unofficial @ 96ksampling rate ?

Reply #10
5+ years ago or so the was AES paper called something like “Spectral Banding Replication coding at high rates ….” (?).  This paper isn’t available publicly anymore.
Oversampled and non-oversampled SBR were tested at 80-96 kbps.  IIRC one mode had slightly higher average score than another one for 80 kbps, and vice versa for 96 kbps. I don’t remember which was which. But there was no statistically enough consistent difference to draw conclusion.

SBR of HE-AAC isn’t flexible. You can’t code to LC-AAC -  16 kHz and  upper audible range to SBR (16 kHz – 20 kHz range) in normal conditions.    It could be useful at 96 kbps area or so.  Well implemented bandwidth extension should be better than plain lowpass. Preserving of energy and some other characteristics of signal (?). Maybe.
Not sure about recent standards of audio coding. There is an updated version (eSBR).
Modern compression schemes allow to code upper range (16 kHz -20 kHz) very efficiently, 1 kbps or even less. Opus codes this range just at 0,1-0,2 kbps for final  64 kbps bitrate.
It will depend on how one particular encoder will be smart enough to steal this very small amount of bitrate from  main audible range (up to 16 kHz) and use it for the  upper range (16 kHz-20 kHz)

(16-20 kHz are approximate to get an idea)

HE-AAC unofficial @ 96ksampling rate ?

Reply #11
After going through multiple listening test,  I've to admit, I couldn't distinguish high sampling & high bitrate HE-AAC(~128kbps)  from AAC-LC(~200kbps) ...

"HE-AAC 128 vs LC-AAC 200 "? For what?
First of all try "HE-AAC 128 vs LC-AAC 128".
HE-AAC is only useful up to ~75 kbps, maybe for someone 80 kbps. But that's all. LC-AAC is overally better than HE-AAC at the same bitrate for 80 kbps and higer.



Hi,

I mean ,  the source is 24bit / 96khz to begin with. Please don't flame me for that. 

In my test case,  96khz sampling is SBR  and AAC-LC at 48khz.  Not sure about the cutoff frequency between SBR and LC

For 96khz sampling rate, AAC-LC won't be able to get good quality at ~128kbps (at least for nero)
Nero don't even allow he-aac at >48khz  sampling rate

Haven't tried qaac yet

Thank you for sharing your thoughts

HE-AAC unofficial @ 96ksampling rate ?

Reply #12
For 96khz sampling rate, AAC-LC won't be able to get good quality at ~128kbps (at least for nero)


Whats your source for this statement?  I would expect 96k AAC to perform pretty similarly to 48k.

Nero don't even allow he-aac at >48khz  sampling rate


Well yeah, thats to keep people from doing dumb things like using HE-AAC at 96kHz.

Edit:  Actually, does AAC have a larger transform size for 96k like Vorbis?  I thought it did but looking at libfaad I'm not seeing it.  If so, maybe there is some small loss of compression at higher sampling rates.

 

HE-AAC unofficial @ 96ksampling rate ?

Reply #13
Edit:  Actually, does AAC have a larger transform size for 96k like Vorbis?  I thought it did but looking at libfaad I'm not seeing it.  If so, maybe there is some small loss of compression at higher sampling rates.

Indeed there is. The transform length is fixed to 1024 (or 960), so with higher sampling rates you get more frames per second, hence more side-information. Not a good idea at low bit-rates.

Chris
If I don't reply to your reply, it means I agree with you.