Sub-band coding: Difference between revisions

Content deleted Content added
Mmncit (talk | contribs)
No edit summary
Mmncit (talk | contribs)
No edit summary
Line 1:
'''Subband coding''' is any form of [[transform coding]] that breaks a signal into a number of different [[frequency band]]s and encodes each one independently. It can be used with [[audio compression]] so that parts of the signal which the [[ear]] cannot detect are removed (e.g., a quiet sound masked by a loud one). The remaining signal is encoded using variable bit-rates with more bits per sample being used in the mid frequency range.
{{about|the signal coding technique|the Bluetooth audio codec|SBC (codec)}}
 
For example, subband encoding is used in [[MPEG-1]].
{{no footnotes|date = October 2011}}
 
==Basic principlesPrinciples==
[[File:SubBandCoding.svg|thumb|500px|Sub-band coding and decoding signal flow diagram]]
The utility of SBC isdepends perhaps best illustrated withon a specificphenomenon example.of Whenthe usedhuman forhearing audiosystem compression, SBC exploits [[auditorycalled masking]]. inNormal the [[auditory system]]. Humanhuman ears are normally sensitive to a wide range of frequencies. However, but when a sufficientlylot loudof signal energy is present at one frequency, the ear will notcannot hear weakerlower signalsenergy at nearby frequencies. We say that the louder signalfrequency masks the softer onesfrequencies. The louder frequency is called the masker.
 
(Strictly speaking, what we're describing here is really called simultaneous masking (masking across frequency). There are also nonsimultaneous masking (masking across time) phenomena, as well as many other phenomena of human hearing, which we're not concerned with here. For more information about auditory perception, see the upcoming Auditory Perception OLT.)
In [[signal processing]], '''subband coding''' ('''SBC''') is any form of [[transform coding]] that breaks a signal into a number of different [[frequency band]]s, typically by using a [[fast Fourier transform]], and encodes each one independently. This decomposition is often the first step in data compression for audio and video signals.
 
The basic idea of SBC is to enablesave asignal data reductionbandwidth by discardingthrowing away information about frequencies which are masked. The result differswon't frombe the same as the original signal, but if the discarded informationcomputation is chosendone carefullyright, thehuman differenceears willcan't nothear bethe noticeable,difference. or more importantly, objectionable.
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 [[pulsePulse-code modulation]] (PCM), which is used on [[audiomusic CDs]], [[Digital Audio Tape|DAT]] recordings, and so on. DigitizationLike transformsall continuousdigitization, signalsPCM intoadds discretenoise onesto bythe samplingsignal, awhich signal'sis amplitudegenerally atundesirable. uniformThe intervalsfewer andbits [[rounding]]used in digitization, the more noise gets added. The way to keep this noise from being a problem is to use enough bits to ensure that the nearestnoise valueis representablealways withlow enough to be masked either by the availablesignal [[Audioor bitby depth|numberother sources of bits]]noise. This processproduces isa fundamentallyhigh inexactquality signal, andbut involvesat twoa errors:high ''[[discretizationbit error]],''rate from(over sampling700k atbps intervals,for andone ''[[quantizationchannel error]]of CD audio). A lot of those bits are encoding masked portions of the signal,'' fromand are being roundingwasted.
 
CodingThere techniquesare reducemore bitrateclever byways exploitingof knowndigitizing characteristicsan audio signal, which can save some of thethat auditorywasted systembandwidth. A classic method is nonlinear PCM, such as the [[μmu-law algorithm]]. Smallencoding signals(named areafter digitizeda withperceptual finercurve granularityin thanauditory areperception largeresearch). This is like PCM on a logarithmic scale, ones;and the effect is to add noise that is proportional to the signal strength. Sun's [[Au file.au format]] for sound files is a popular example of mu-law encoding. Using 8-bit mu-law encoding would cut theour one per-channel bitrate of CD audio down to about 350350k kbit/sbps, halfwhich theis standardbetter rate.but Becausestill thispretty simplehigh, methodand onlyis minimallyoften exploitsaudibly maskingpoorer effects,quality itthan producesthe resultsoriginal that(this arescheme oftendoesn't audiblyreally inferiormodel comparedmasking to the originaleffects).
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.
 
==A basic SBC scheme==
Coding techniques reduce bitrate by exploiting known characteristics of the auditory system. A classic method is nonlinear PCM, such as the [[μ-law algorithm]]. 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 350 kbit/s, half the standard rate. Because this simple method only minimally exploits masking effects, it produces results that are often audibly inferior compared to the original.
 
==Basic principles==
The utility of SBC is perhaps best illustrated with a specific example. When used for audio compression, SBC exploits [[auditory masking]] in the [[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.
 
[[Image:sbc.fig1.gif]]
The basic idea of SBC is to enable a data reduction by discarding information about frequencies which are masked. The result differs from the original signal, but if the discarded information is chosen carefully, the difference will not be noticeable, or more importantly, objectionable.
 
Most SBC encoders use a structure like this. First, a digitaltime-frequency mapping (a filter bank, dividesor theFFT, inputor signalsomething spectrumelse) intodecomposes somethe numberinput (e.g.,signal 32) ofinto subbands. The psychoacoustic model looks at the energy in each of these subbands, as well as in the original signal, and computesdetermines masking thresholds using psychoacoustic information. EachUsing these masking thresholds, each of the subband samples is quantized and encoded so as to keep the quantization noise below the dynamically computed masking threshold. The final step is to formatassemble all these quantized samples into groupsframes, ofso datathat calledthe frames,decoder tocan facilitatefigure eventualit playbackout bywithout agetting decoderlost.
 
Decoding is much easier than encoding, since there is no psychoacousticneed modelfor isa involvedpsychoacoustic model. The frames are unpacked, subband samples are decoded, and a frequency-time mapping reconstructsturns them back into a ansingle output audio signal.
 
This is a basic, generic sketch of how SBC works. Notice that we haven't looked at how much computation it takes to do this. For practical systems that need to run in real time, computation is a major issue, and is usually the main constraint on what can be done.
==Applications==
Beginning in the late 1980s, a standardization body, the [[Moving Picture Experts Group]] (MPEG), developed standards for coding of both audio and video. Subband coding resides at the heart of the popular MP3 format (more properly known as [[MPEG-1 Audio Layer III]]), for example.
 
Over the last five to ten years, SBC systems have been developed by many of the key companies and laboratories in the audio industry. Beginning in the late 1980's, a standardization body of the ISO called the Motion Picture Experts Group (MPEG) developed generic standards for coding of both audio and video.
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 ==
==References==
* [https://web.archive.org/web/20070613152917/http://www.otolith.com/otolith/olt/sbc.html Sub-Band Coding Tutorial]
{{FOLDOC}}
 
==External links==
* [https://web.archive.org/web/20070613152917/http://www.otolith.com/otolith/olt/sbc.html Sub-Band Coding Tutorial]
 
 
{{Compression Methods}}
{{FOLDOC}}
 
[[Category:Data compression]]
[[Category:Audio engineering]]
[[Category:Signal processing]]
 
{{context}}
 
[[de:Subband Coding]]