Hi all

I am not major in psychoacoustic effect but I am wondering the way
LAME's(and ISO dist10's) psychoacoustic noise threshold calculation.

it is calculated by the way like this.

E(i) : energy of bark i
T(i) : threshold of bark i
R(i) : ratio of bark i
E'(i) : energy of band(scalefactor band) i
T'(i): threshold of band(scalefactor band) i
R'(i): ratio of band(scalefactor band) i
S    : spread function to calculate the masking effect
ATH(i): ATH threshold of band(scalefactor band) i

step1
[T(0) T(1) ... ] = S [E(0) E(1) .... ]

step2
R(i) = T(i) / E(i)

step3
R'(i) = sum_{some area} R(i)
E'(i) = sum_{some area} E(i)

step4
T'(i) = max(R'(i) * E'(i), ATH(i))


step 1&2 are done in psymodel.c, and 3&4 are in quantize.c(calc_xmin).

Question:
why are there "step2" and "step4" ?
why doesn't it calculate T'(i) directly from T(i) ?

I hope remove these steps and we can get more simple&fast psymodel.c
--- 
Takehiro TOMINAGA // may the source be with you!
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to