Content deleted Content added
First pass at cleanup. Deleted irrelevant material; simplified the text to make it more readable to non-experts. Fixed minor unit boo-boos (Kbps to kbps). |
Adding short description: "Lossy audio coding technique" |
||
(48 intermediate revisions by 31 users not shown) | |||
Line 1:
{{Short description|Lossy audio coding technique}}
{{about|the signal coding technique|the Bluetooth audio codec|SBC (codec)}}
'''Sub-band coding''' (SBC) is any form of [[transform coding]] that breaks a signal into a number of different [[frequency band]]s and encodes each one independently. This decomposition is often the first step in data compression for audio and video signals.▼
{{no footnotes|date = October 2011}}
==Basic Principles==▼
The utility of SBC is perhaps best illustrated with a specific example. When used for audio compression, SBC exploits what might be considered a deficiency of the human auditory system. Human ears are normally sensitive to a wide range of frequencies, but when a sufficiently loud signal is present at one frequency, the ear will not hear weaker signals at nearby frequencies. We say that the louder signal masks the softer ones. The louder signal is called the masker, and the point at which masking occurs is known, appropriately enough, as the masking threshold.▼
[[File:SubBandCoding.svg|thumb|500px|Sub-band coding and decoding signal flow diagram]]
▲In [[signal processing]], '''
SBC is the core technique used in many popular [[lossy audio compression]] algorithms including [[MP3]].
==Encoding audio signals==
The simplest way to digitally encode audio signals is [[
The more bits used to represent each sample, the finer the granularity in the digital representation, and thus the smaller the quantization error. Such ''quantization errors'' may be thought of as a type of noise, because they are effectively the difference between the original source and its binary representation. With PCM, the audible effects of these errors can be mitigated with [[dither]] and by using enough bits to ensure that the noise is low enough to be masked either by the signal itself or by other sources of noise. A high quality signal is possible, but at the cost of a high [[bitrate]] (e.g., over 700 [[kbit/s]] for one channel of CD audio). In effect, many bits are wasted in encoding masked portions of the signal because PCM makes no assumptions about how the human ear hears.
More clever ways of digitizing an audio signal can reduce that waste by exploiting known characteristics of the auditory system. A classic method is nonlinear PCM, such as [[mu-law]] encoding (named after a perceptual curve in auditory perception research). Small signals are digitized with finer granularity than are large ones; the effect is to add noise that is proportional to the signal strength. Sun's [[Au file format]] for sound is a popular example of mu-law encoding. Using 8-bit mu-law encoding would cut the per-channel bitrate of CD audio down to about 350kbps, or about half the standard rate. Because this simple method only minimally exploits masking effects, it produces results that are often audibly poorer than the original.▼
▲
▲The utility of SBC is perhaps best illustrated with a specific example. When used for audio compression, SBC exploits
First, a digital filter bank divides the input signal spectrum into some number (e.g., 32) of subbands. The psychoacoustic model looks at the energy in each of these subbands, as well as in the original signal, and computes masking thresholds using psychoacoustic information. Each of the subband samples Decoding is much easier than encoding, since no psychoacoustic model is involved. The frames are unpacked, subband samples are decoded, and a frequency-time mapping reconstructs an output audio signal.
==Applications==
Sub-band coding is used in the [[G.722]] codec which uses sub-band adaptive differential pulse code modulation (SB-[[ADPCM]]) within a bit rate of 64 kbit/s. In the SB-ADPCM technique, the frequency band is split into two sub-bands (higher and lower) and the signals in each sub-band are encoded using ADPCM.
==External links==
* [https://web.archive.org/web/20070613152917/http://www.otolith.com/otolith/olt/sbc.html Sub-Band Coding Tutorial]
{{Compression Methods}}
[[Category:Data compression]]
[[Category:Audio engineering]]
[[Category:Signal processing]]
|