Hi,

Tmdct(i) can be calculated directly from Tdft(i) with this formula:

Tmdct(i) = (2/M) * Tdft(i) * (cos( 2*Pi*n0*(i + 0.5)/N - /_S(i) ))^2

where:
M = number of samples in frequency domain
N = number of samples in time domain
n0 = (M+1)/2
S(i) = the DFT, where /_S(i) is the phase

If you want the full explanation, please let me know.

Bye, Menno


----- Original Message ----- 
From: "Takehiro Tominaga" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, June 07, 2000 1:51 PM
Subject: [MP3 ENCODER] psymodel ?


> 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/ )
> 

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to