# Noise shaping

Noise shaping is a technique typically used in digital audio, image, and video processing, usually in combination with dithering, as part of the process of quantization or bit-depth reduction of a digital signal. Its purpose is to increase the apparent signal to noise ratio of the resultant signal. It does this by altering the spectral shape of the error that is introduced by dithering and quantization; such that the noise power is at a lower level in frequency bands at which noise is perceived to be more undesirable and at a correspondingly higher level in bands where it is perceived to be less undesirable. A popular noise shaping algorithm used in image processing is known as ‘Floyd Steinberg dithering’; and many noise shaping algorithms used in audio processing are based on an ‘Absolute threshold of hearing’ model.

## How noise shaping works

Noise shaping works by putting the quantization error in a feedback loop. Any feedback loop functions as a filter, so by creating a feedback loop for the error itself, the error can be filtered as desired. The simplest example would be

$\ y[n] = x[n] + e[n-1],$

where y is the output sample value that is to be quantized, x is the input sample value, n is the sample number, and e is the quantization error made at sample n (error when quantizing y[n]). This formula can also be read: The output sample is equal to the input sample plus the quantization error on previous sample.

Essentially, when any sample's bit depth is reduced, the quantization error between the rounded (truncated) value and the original value is measured and stored. That "error value" is then added to the next sample prior to its quantization. The effect here is that the quantization error itself (and not the valid signal) is put into a feedback loop. This simple example gives a single-pole filter (a first-order Butterworth filter), or a filter that rolls off 6 dB per octave. The cutoff frequency of the filter can be controlled by the amount of the error from the previous sample that is fed back. For example, changing the value for A1 in the formula

$\ y[n] = x[n] + A_1 e[n-1]$

will change the frequency at which the feedback loop is centered.

More complex algorithms can be used which use more samples' errors' worth of feedback in order to create more complex curves. The formula

$\ y[n] = x[n] + \sum_{i=1}^{9} A_i e[n-i]$

is that of a ninth order noise shaper, and can allow very complex noise shaping.

Noise shaping must also always involve an appropriate amount of dither within the process itself so as to prevent determinable and correlated errors to the signal itself. If dither is not used then noise shaping effectively functions merely as distortion shaping — pushing the distortion energy around to different frequency bands, but it is still distortion. If dither is added to the process as

$\ y[n] = x[n] + A_1 e[n-1] + \mathrm{dither},$

then the quantization error truly becomes noise, and the process indeed yields noise shaping.

## Noise shaping in digital audio

Noise shaping in audio is most commonly done as a bit-reduction scheme. The quantization error from straight dither is flat, white noise.[citation needed] The ear, however, is less sensitive to certain frequencies than others at low levels (see Fletcher-Munson curves). By using noise shaping we can effectively spread the quantization error around so that more of it is focused on frequencies that we can't hear as well and less of it is focused on frequencies that we can hear. The result is that where the ear is most critical the quantization error can be reduced greatly and where our ears are less sensitive the noise is much greater. This can give a perceived noise reduction of 4 bits compared to straight dither.[1]

### Noise shaping and 1-bit converters

Since around 1989, 1 bit delta-sigma modulators have been used in analog to digital converters. This involves sampling the audio at a very high rate (2.8224 million samples per second, for example) but only using a single bit. Because only 1 bit is used, this converter only has 6.02 dB of dynamic range. The noise floor, however, is spread throughout the entire "legal" frequency range below the Nyquist frequency of 1.4112 MHz. Noise shaping is used to lower the noise present in the audible range (20 Hz to 20 kHz) and increase the noise above the audible range. This results in a broadband dynamic range of only 7.78 dB, but it is not consistent among frequency bands, and in the lowest frequencies (the audible range) the dynamic range is much greater — over 100 dB. Noise Shaping is inherently built into the delta-sigma modulators.

The 1 bit converter is the basis of the DSD format by Sony. One criticism of the 1 bit converter (and thus the DSD system) is that because only 1 bit is used in both the signal and the feedback loop, adequate amounts of dither cannot be used in the feedback loop and distortion can be heard under some conditions.[2][3] Most A/D converters made since 2000 use multi-bit or multi-level delta sigma modulators that yield more than 1 bit output so that proper dither can be added in the feedback loop. For traditional PCM sampling the signal is then decimated to 44.1 ks/s or other appropriate sample rates.

## References

1. Gerzon, Michael; Peter Craven, Robert Stuart, and Rhonda Wilson (16–19 March 1993). "Psychoacoustic Noise Shaped Improvements in CD and Other Linear Digital Media". 94th Convention of the Audio Engineering Society, Berlin. AES. Preprint 3501.
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 4, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.3, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9231147766113281, "perplexity_flag": "middle"}