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: TWO algorithm in FAAC 1.23 accquant.c (Read 4093 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

TWO algorithm in FAAC 1.23 accquant.c

Hello everyone

After reading the FAAC-1.23 aacquant.c , I cannot
understand the following algorithms

1.the algorithm of getting the maxium permitted quantization
distorision of each band --xmin[sfb] in the CalcAllowedDist()

2 . the algorithm of scalefactor searching in the FixNoise()

from the code in aacquant.c I only know how FAAC do it , but
I do not know WHY FAAC do it in such way.

for example, the few lines at the end of CalcAllowedDist() ,
I cannot understand them and these seem so mysterious to me
-----------------------
    thr = enrg/((double)(end-start)*avgenrg);
    thr = pow(thr, 0.1*(lastsb-sfb)/lastsb + 0.3);

    tmp = 1.0 - ((double)start / (double)last);
    tmp = tmp * tmp * tmp + 0.075;

    thr = 1.0 / (1.4*thr + tmp);

    xmin[sfb] = ((coderInfo->block_type == ONLY_SHORT_WINDOW) ? 0.65 : 1.12)
      * globalthr * thr;
-----------------------

Can anybody tell me the reason or show me some related
document of FAAC quantization

THANKS in advance
                                      best regards
yours        Dudu

TWO algorithm in FAAC 1.23 accquant.c

Reply #1
Quote
After reading the FAAC-1.23 aacquant.c , I cannot understand the following algorithms


  me too. It is strange that the algorithm use only the quantization value xi[] (not the error with xr[]) to calculate distortions in FixNoise(). It seems that the bigger energies of the scale factor band the bigger quantization value.

xmin[] has nothing to do with the absolute energy of the band but only proportion of each band. And it is same for the quantization values. If we amplify all band value it will has the same quantization results!?

But the algorithm seems very efficient because the encoder quality is good.

TWO algorithm in FAAC 1.23 accquant.c

Reply #2
Quote
Hello everyone

After reading the FAAC-1.23 aacquant.c , I cannot
understand the following algorithms

1.the algorithm of getting the maxium permitted quantization
distorision of each band --xmin[sfb] in the CalcAllowedDist()

2 . the algorithm of scalefactor searching in the FixNoise()

from the code in aacquant.c I only know how FAAC do it , but
I do not know WHY FAAC do it in such way.

for example, the few lines at the end of CalcAllowedDist() ,
I cannot understand them and these seem so mysterious to me
-----------------------
    thr = enrg/((double)(end-start)*avgenrg);
    thr = pow(thr, 0.1*(lastsb-sfb)/lastsb + 0.3);

    tmp = 1.0 - ((double)start / (double)last);
    tmp = tmp * tmp * tmp + 0.075;

    thr = 1.0 / (1.4*thr + tmp);

    xmin[sfb] = ((coderInfo->block_type == ONLY_SHORT_WINDOW) ? 0.65 : 1.12)
      * globalthr * thr;
-----------------------

Can anybody tell me the reason or show me some related
document of FAAC quantization

THANKS in advance
                                       best regards
yours        Dudu


Seemed like somekind of simplified psychoacoustic model??

How efficient is this encoder anyway compared to ITUNE or NERO?

TWO algorithm in FAAC 1.23 accquant.c

Reply #3
Life is Real...
(But not in audio :) )

TWO algorithm in FAAC 1.23 accquant.c

Reply #4
Obviously, the quantization method of FAAC isn't that good compared to NERO or Itune.. .

 

TWO algorithm in FAAC 1.23 accquant.c

Reply #5
I think we need to understand the algorithm by ourselves.

        good luck buddies