Databases Reference
In-Depth Information
Frame 1
Frame 2
Frame 3
Scalefactor
selection
index
Subband
data
Scale
Bit
allocation
Header
CRC
factors
F I GU R E 17 . 6
Frame structure for Layer 2.
grouped together, the representation of the scalefactors, and the quantization strategy. Where
the Layer I coder puts 12 samples from each subband into a frame, the Layer II coder groups
three sets of 12 samples from each subband into a frame. The total number of samples per
frame increases from 384 samples to 1152 samples. This reduces the amount of overhead per
sample. In Layer I coding a separate scalefactor is selected for each block of 12 samples.
In Layer II coding the encoder tries to share a scalefactor among two or all three groups of
samples from each subband filter. The only time separate scalefactors are used for each group
of 12 samples is when not doing so would result in a significant increase in distortion. The
particular choice used in a frame is signaled through the scalefactor selection information field
in the bitstream.
Themajor difference between the Layer I and Layer II coding schemes is in the quantization
step. In the Layer I coding scheme the output of each subband is quantized using one of 14
possibilities; the same 14 possibilities are available for each of the subbands. In Layer II
coding the quantizers used for each of the subbands can be selected from a different set of
quantizers depending on the sampling rate and the bit rates. For some sampling rate and bit
rate combinations, many of the higher subbands are assigned 0 bits. That is, the information
from those subbands is simply discarded. Where the quantizer selected has 3, 5, or 9 levels,
the Layer II coding scheme uses one more enhancement. Notice that in the case of 3 levels
we have to use 2 bits per sample, which would have allowed us to represent 4 levels. The
situation is even worse in the case of 5 levels, where we are forced to use 3 bits, wasting three
codewords, and in the case of 9 levels, where we have to use 4 bits, thus wasting 7 levels. To
avoid this situation, the Layer II coder groups 3 samples into a granule . If each sample can take
on 3 levels, a granule can take on 27 levels. This can be accommodated using 5 bits. If each
sample had been encoded separately we would have needed 6 bits. Similarly, if each sample
can take on 9 values, a granule can take on 729 values. We can represent 729 values using 10
bits. If each sample in the granule had been encoded separately, we would have needed 12
bits. Using all these savings, the compression ratio in Layer II coding can be increased from
4:1 to 8:1 or 6:1.
The frame structure for the Layer II coder can be seen in Figure 17.6 . The only real
difference between this frame structure and that of the Layer I coder is the scalefactor selection
information field.
Search WWH ::




Custom Search