Why?

Blogging Reading Chatting Meeting. The other aspect of life.

Monday, May 26, 2008

Sub-band coding

Sub-band coding (SBC) is any form of transform coding that breaks a signal into a number of different frequency bands and encodes each one independently. This decomposition is often the first step in data compression for audio and video signals.
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.The basic idea of SBC is to enable a data reduction by discarding information about frequencies which are masked. The result necessarily differs from the original signal, but if the discarded information is chosen carefully, the difference will not be noticeable.
The simplest way to encode audio signals is pulse-code modulation (PCM), which is used on audio CDs, DAT recordings, and so on. All digitization represents continuous signals with a finite set of numbers, and is thus fundamentally inexact. The more bits (numbers) used, the finer the granularity in the digital representation, and the smaller the 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 only way to mitigate the audible effects of these errors is to use 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 (over 700 kbit/s for one channel of CD audio, e.g.). 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 350 kbit/s, 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.

No comments: