Dithering in MP3 Decoders

Notes by ff123

 

What does 16-bit dithering look like, and do all mp3 decoders dither? I took two ISO-compliant layer 3 decoders: the Fraunhofer decoder found in Winamp 2.666 and the MAD decoder version 0.12.2. I then decoded a sample mp3 file using MAD at 32 bits, MAD at 16 bits, and the FhG decoder (16 bits). I looked at a small section of the sample's right channel at very high resolution. The results are shown below:

This is a thumbnail image of the MAD output at 32-bits. I purposely chose a section of the sample which approximated a linear ramp. Note that the process of encoding to mp3 has removed the quantization steps present in the original 16-bit wav file.
This is a thumbnail image of the FhG output in Winamp 2.666 (16-bits). The vertical scale is 1 bit per division. The step-like behavior is characteristic of how a linear ramp is quantized. Note that FhG always rounds to the quantization step closest to the 32-bit value. I.e., this decoder does not dither.
This is a thumbnail image of the MAD output at 16-bits. The dither is easily visible.

 

David Robinson has made some audio samples available comparing 24-bit decoding versus dithered and rounded at his 24-bit Accuracy Test page. These are not representative music samples, but they do demonstrate how dithering works.

 

Return to ff123's home page