Information Technology Reference
In-Depth Information
used when it was packed, and some synchronizing means is needed to allow the beginning of the block to be
identified.
The compression factor is determined by the bit-allocation system. It is trivial to change the output block size
parameter to obtain a different compression factor. If a larger block is specified, the bit allocator simply iterates until
the new block size is filled. Similarly, the decoder need only deserialize the larger block correctly into coded
samples and then the expansion process is identical except for the fact that expanded words contain less noise.
Thus codecs with varying degrees of compression are available which can perform different
bandwidth/performance tasks with the same hardware.
Figure 4.32 (a) shows the format of the Layer I elementary stream. The frame begins with a sync pattern to reset
the phase of deserialization, and a header which describes the sampling rate and any use of pre- emphasis.
Following this is a block of 32 four-bit allocation codes. These specify the wordlength used in each sub-band and
allow the decoder to deserialize the sub-band sample block. This is followed by a block of 32 six-bit scale factor
indices, which specify the gain given to each band during companding. The last block contains 32 sets of 12
samples. These samples vary in wordlength from one block to the next, and can be from 0 to 15 bits long. The
deserializer has to use the 32 allocation information codes to work out how to deserialize the sample block into
individual samples of variable length.
Figure 4.32: (a) The MPEG Layer I data frame has a simple structure. (b) In the Layer II frame, the compression of
the scale factors requires the additional SCFSI code described in the text.
The Layer I MPEG decoder is shown in Figure 4.33 . The elementary stream is deserialized using the sync pattern
and the variable-length samples are assembled using the allocation codes. The variable-length samples are
returned to fifteen-bit wordlength by adding zeros. The scale factor indices are then used to determine
multiplication factors used to return the waveform in each sub-band to its original amplitude. The 32 sub-band
signals are then merged into one spectrum by the synthesis filter. This is a set of bandpass filters which
heterodynes every sub-band to the correct place in the audio spectrum and then adds them to produce the audio
output.
Figure 4.33: The Layer I decoder. See text for details.
4.19 MPEG Layer II audio coding
MPEG Layer II audio coding is identical to MUSICAM. The same 32-band filterbank and the same block
companding scheme as Layer I is used. In order to give the masking model better spectral resolution, the side-
chain FFT has 1024 points. The FFT drives the masking model which may be the same as is suggested for Layer I.
The block length is increased to 1152 samples. This is three times the block length of Layer I, corresponding to 24
ms at 48 kHz.
 
Search WWH ::




Custom Search