> 
> "calc_noise" routine without ATH calculate distortion from difference
> between original data and encoded data; (fabs(xr[l]) - pow43[ix])^2.
> So l3_xmin means tolerable difference between XR and IX.
> 
> But ATH is not difference but "Absolute" value. In another word, ATH
> means tolerable difference between 0 and IX.
> 

True, but it also means that orignal_data +/- noise, where the noise
is less than the ATH, should sound just like the original_data.  A
modern codec doesn't try to remove components - it introduces noise
so that the modified components can be coded more efficiently.  For
example:

lets say scalefactor band sfb=10 has an ATH of 40db.  This means
(according to the theory) that most people could not hear a 40db tone
in sfb=10.

Now take a 80 db signal.  The quantized version of this can be thought
of as:

   quantized_version = true_version + noise

Calc_noise() measures the noise in the above formula.  If the noise is
less than 40db, then it should be masked by the ATH, and thus 
quantized_version should sound the same as true_version.  

Mark

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

Reply via email to