Sub-band coding: Difference between revisions

Content deleted Content added
Mmncit (talk | contribs)
No edit summary
Adding short description: "Lossy audio coding technique"
 
(6 intermediate revisions by 4 users not shown)
Line 1:
{{Short description|Lossy audio coding technique}}
'''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)}}
 
{{no footnotes|date = October 2011}}
For example, subband encoding is used in [[MPEG-1]].
 
[[File:SubBandCoding.svg|thumb|500px|Sub-band coding and decoding signal flow diagram]]
==Basic Principles==
SBC depends on a phenomenon of the human hearing system called masking. Normal human ears are sensitive to a wide range of frequencies. However, when a lot of signal energy is present at one frequency, the ear cannot hear lower energy at nearby frequencies. We say that the louder frequency masks the softer frequencies. The louder frequency is called the masker.
 
In [[signal processing]], '''sub-band 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.
(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.)
 
SBC is the core technique used in many popular [[lossy audio compression]] algorithms including [[MP3]].
The basic idea of SBC is to save signal bandwidth by throwing away information about frequencies which are masked. The result won't be the same as the original signal, but if the computation is done right, human ears can't hear the difference.
 
==Encoding audio signals==
The simplest way to digitally encode audio signals is [[Pulsepulse-code modulation]] (PCM), which is used on music[[audio CDs]], [[Digital Audio Tape|DAT]] recordings, and so on. LikeDigitization alltransforms digitization,continuous PCMsignals addsinto noisediscrete toones theby signal,sampling whicha issignal's generallyamplitude undesirable.at Theuniform fewerintervals bitsand used in digitization, the more noise gets added. The way[[rounding]] to keep this noise from being a problem is to use enough bits to ensure that the noisenearest isvalue alwaysrepresentable low enough to be masked either bywith the signalavailable or[[Audio bybit other sourcesdepth|number of noisebits]]. This producesprocess ais highfundamentally quality signalinexact, butand atinvolves atwo higherrors: bit''[[discretization rateerror]],'' (overfrom 700ksampling bpsat forintervals, oneand channel''[[quantization of CD audio). A lot of those bits are encoding masked portions of the signalerror]],'' and are beingfrom wastedrounding.
 
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.
There are more clever ways of digitizing an audio signal, which can save some of that wasted bandwidth. A classic method is nonlinear PCM, such as [[mu-law]] encoding (named after a perceptual curve in auditory perception research). This is like PCM on a logarithmic scale, and the effect is to add noise that is proportional to the signal strength. Sun's .au format for sound files is a popular example of mu-law encoding. Using 8-bit mu-law encoding would cut our one channel of CD audio down to about 350k bps, which is better but still pretty high, and is often audibly poorer quality than the original (this scheme doesn't really model masking effects).
 
ThereCoding aretechniques morereduce cleverbitrate waysby ofexploiting digitizingknown an audio signal, which can save somecharacteristics of thatthe wastedauditory bandwidthsystem. A classic method is nonlinear PCM, such as the [[muμ-law algorithm]]. encodingSmall (namedsignals afterare adigitized perceptualwith curvefiner ingranularity auditorythan perceptionare research). This is like PCM on a logarithmic scale,large andones; the effect is to add noise that is proportional to the signal strength. Sun's .au[[Au file format]] for sound files is a popular example of mu-law encoding. Using 8-bit mu-law encoding would cut our onethe per-channel bitrate of CD audio down to about 350k bps350 kbit/s, whichhalf isthe betterstandard butrate. stillBecause prettythis high,simple andmethod isonly oftenminimally audiblyexploits poorermasking qualityeffects, thanit theproduces originalresults (thisthat schemeare doesn'toften reallyaudibly modelinferior maskingcompared effects)to the original.
==A basic SBC scheme==
 
==Basic Principlesprinciples==
The utility of SBC dependsis onperhaps best illustrated with a phenomenonspecific ofexample. theWhen humanused hearingfor systemaudio calledcompression, SBC exploits [[auditory masking.]] Normalin humanthe [[auditory system]]. Human ears are normally sensitive to a wide range of frequencies. However, but when a lotsufficiently ofloud signal energy is present at one frequency, the ear cannotwill not hear lowerweaker energysignals at nearby frequencies. We say that the louder frequencysignal masks the softer frequencies. The louder frequency is called the maskerones.
 
The basic idea of SBC is to saveenable signala bandwidthdata reduction by throwing awaydiscarding information about frequencies which are masked. The result won'tdiffers be the same asfrom the original signal, but if the computationdiscarded information is donechosen rightcarefully, humanthe earsdifference can'twill hearnot thebe difference.noticeable, or more importantly, objectionable.
[[Image:sbc.fig1.gif]]
 
Most SBC encoders use a structure like this. First, a time-frequency mapping (adigital filter bank, ordivides FFT,the orinput somethingsignal else)spectrum decomposesinto thesome inputnumber signal(e.g., into32) of subbands. The psychoacoustic model looks at the energy in each of these subbands, as well as in the original signal, and determinescomputes masking thresholds using psychoacoustic information. Using these masking thresholds, eachEach of the subband samples isare quantized and encoded so as to keep the quantization noise below the dynamically computed masking threshold. The final step is to assembleformat all these quantized samples into frames,groups soof thatdata thecalled decoderframes, canto figurefacilitate iteventual outplayback withoutby gettinga lostdecoder.
 
Decoding is much easier than encoding, since there is no needpsychoacoustic formodel ais psychoacoustic modelinvolved. The frames are unpacked, subband samples are decoded, and a frequency-time mapping turns them back into areconstructs singlean output audio signal.
 
==Applications==
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.
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.
 
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.
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.
 
== 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]]