HydrogenAudio

Lossy Audio Compression => MP3 => MP3 - Tech => Topic started by: Jeremy Todd on 2007-04-17 18:52:48

Title: MP3 critical bands
Post by: Jeremy Todd on 2007-04-17 18:52:48
Hi there,

I'm writing with a pretty basic question about MP3 encoders. As I understand it:

MP3 encoders use 32 linearly-spaced subband filters followed by an MDCT with either 18 (long block) or 6 (short block) points. This generates either 576 or 192 linearly-spaced spectral lines.

The spectral lines are grouped into scalefactor bands which roughly correspond to critical bands from psychoacoustical literature.

If the above is true, then here's what I wonder about: from what I've read, scalefactors can be adjusted for each scalefactor band, but not within a scalefactor band. Scalefactors control bit allocation and therefore quantization noise.

My understanding of critical bands is that masking occurs *within* a critical bands. I thought that critical bands are in fact measured by evaluating how close frequencies need to be in order to mask each other.

If that's all true, wouldn't MP3 encoders need to adjust bit allocation within a critical band in order to give lots of bits to prominent frequencies in a critical band and less bits to masked frequencies within that same critical band?

I've looked at the LAME sources and the key thing seems to be the "spreading function" for masking amounts. This "spreading function" is a kernel used in convolution. The convolution kernel doesn't change when it's slid from frequency to frequency (i.e. convolution is time-invariant when convolving in the time domain, same idea here) - so the spreading function can't really be aware of critical bands.

I hope the above makes sense - I'm sure I'm confused on some point but any help would be greatly appreciated!

Regards,
Jeremy Todd