Help - Search - Members - Calendar
Full Version: why decoding at 16bit only?
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - Tech
TobWen
Hi there,

at serveral points on this board, we've got the information that MP3 doesn't have bit depth, like 16 oder 32bit. AFAIK it has a float.

I'm musican and I am recording and mixing my music at 44.1 KHz and 24 bit.
So if I encode my music with LAME, the 24 bits get into the stream ... but are they cut in any way? I thought, MP3 doesn't have this limit.

Decoding MP3s via LAME always give 16 bits ... so the output MUST be dithered.
Why is this?

Best regards,
Tobias
Shade[ST]
foobar2000 can output an mp3 as 24 bits. In any case, it won't matter much, since much of the resolution of your 24 bits will be lost by quantization, as far as I know.
AndyH-ha
Just to play devil's advocate, if the position of many people here is correct, that one cannot hear any difference between 16 bit and 24 bit, and if mp3 encoding is done to a perceptual model of human hearing, and if the encoding works by reducing the bit depth of everything that can't be differentiated in the unencoded state, then 24 bit should not survive encoding, except possibly if there is some very low signal level detail in the original.
TobWen
I'm recording, arranging and mixing in 24bit. Mixing (and effects) are done via software only. Even if most of the people cannot hear the difference, why not using it? My Mac and my PC are fast enough, the hardware and software supports it. So it's better to be on the "secure side".

QUOTE
if mp3 encoding is done to a perceptual model of human hearing, and if the encoding works by reducing the bit depth of everything that can't be differentiated in the unencoded state, then 24 bit should not survive encoding, except possibly if there is some very low signal level detail in the original.


I always thought, encoding would reduce the bit-depth ... but some people on this board write, LAME/MP3 doesn't have bith-depth. MP3 would work in float-mode.
Lyx
QUOTE(TobWen @ Jan 13 2006, 01:44 AM)
I always thought, encoding would reduce the bit-depth ... but some people on this board write, LAME/MP3 doesn't have bith-depth. MP3 would work in float-mode.
*


Technically, it does not reduce bitdepth, but perceptually, it does.

Do you know what increased bitdepth will do? Increased Signal to Noise ratio. With 16bit, you can get as low as -96 dB(or even lower)..... but this is almost never used.

Do you know what perceptual lossy encoders do? The opposite of the above. A file encoded with a lossy encoder will have less Signal-to-Noise ratio than *16Bit* - because humans cannot even perceive what 16Bit delivers.
outscape
QUOTE(TobWen @ Jan 12 2006, 06:46 PM)
Hi there,

at serveral points on this board, we've got the information that MP3 doesn't have bit depth, like 16 oder 32bit. AFAIK it has a float.

I'm musican and I am recording and mixing my music at 44.1 KHz and 24 bit.
So if I encode my music with LAME, the 24 bits get into the stream ... but are they cut in any way? I thought, MP3 doesn't have this limit.

Decoding MP3s via LAME always give 16 bits ... so the output MUST be dithered.
Why is this?

Best regards,
Tobias
*


no they're not cut. mp3 is not a resolution-dependent format. this means you can encode directly from 24-bit or even 32-bit source without first dithering to 16-bit. what will determine the output is your mp3 decoder. most mp3 players simply decode to 16 bits accuracy and that's what you're left with. however, if you decode directly to 32 or 64 bit float with foobar, you *MAY* retrieve some extra resolution that may be lost when rounding to 16 bits and by dithering back to 16 bits you get rid of the quantization distortion at 16 bits (provided that you use quality dither as some dither modules don't dither properly). this is "purist" theory though.
spoon
Has anyone done any actual tests? ie put in a sine wave on the 20-24th bit, encode with lame (*** assuming that lame will take a 24 bit file and does not trunciate to 16 bit internally...) and see what comes out when decoding to 24 bit. It all seems anecdotal and not very scientific.
Garf
QUOTE(Lyx @ Jan 13 2006, 03:56 AM)
QUOTE(TobWen @ Jan 13 2006, 01:44 AM)
I always thought, encoding would reduce the bit-depth ... but some people on this board write, LAME/MP3 doesn't have bith-depth. MP3 would work in float-mode.
*


Technically, it does not reduce bitdepth, but perceptually, it does.

Do you know what increased bitdepth will do? Increased Signal to Noise ratio. With 16bit, you can get as low as -96 dB(or even lower)..... but this is almost never used.

Do you know what perceptual lossy encoders do? The opposite of the above. A file encoded with a lossy encoder will have less Signal-to-Noise ratio than *16Bit* - because humans cannot even perceive what 16Bit delivers.
*



As I already pointed out in that thread where people were judging encoders based on their SNR ratios, talking about SNR in a codec doesn't make much sense, period. The codec doesn't use PCM, it doesn't have a uniform SNR over the entire frequency range, it's quantizing in the frequency domain, and the SNR is independant of the signal level[1]. The codecs have a *much larger* dynamic range than 16 bit PCM, too. AAC has a dynamic range of 384dB, which would correspond to a bit depth of 64 bits. Whooo! But the SMR will generally be between 6 and 18dB, corresponding to 1 to 3 bits. Doh!

[1] If the codec uses ATH in a not so smart way it may produce different results. So I don't know what the result of spoon's test would be, it probably depends on the encoder. I wrote at least one encoder that would produce pure silence in that case, because it would assume that the signal is inaudible (not necessarily correct, but simpler). Disabling ATH would lead to perfect reconstruction.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.