Speex wideband mode (sub-band CELP)

For wideband, the Speex approach uses a quadrature mirror filter (QMF) to split the band in two. The 16 kHz signal is thus divided into two 8 kHz signals, one representing the low band (0-4 kHz), the other the high band (4-8 kHz). The low band is encoded with the narrowband mode described in section 8 in such a way that the resulting ``embedded narrowband bit-stream'' can also be decoded with the narrowband decoder. Since the low band encoding has already been described, only the high band encoding is described in this section.

Linear Prediction

The linear prediction part used for the high-band is very similar to what is done for narrowband. The only difference is that we use only 12 bits to encode the high-band LSP's using a multi-stage vector quantizer (MSVQ). The first level quantizes the 10 coefficients with 6 bits and the error is then quantized using 6 bits, too.

Pitch Prediction

That part is easy: there's no pitch prediction for the high-band. There are two reasons for that. First, there is usually little harmonic structure in this band (above 4 kHz). Second, it would be very hard to implement since the QMF folds the 4-8 kHz band into 4-0 kHz (reversing the frequency axis), which means that the location of the harmonics is no longer at multiples of the fundamental (pitch).

Excitation Quantization

The high-band excitation is coded in the same way as for narrowband.

Bit allocation

For the wideband mode, the entire narrowband frame is packed before the high-band is encoded. The narrowband part of the bit-stream is as defined in table 3. The high-band follows, as described in table 5. For wideband, the mode ID is the same as the Speex quality setting and is defined in table [*]. This also means that a wideband frame may be correctly decoded by a narrowband decoder with the only caveat that if more than one frame is packed in the same packet, the decoder will need to skip the high-band parts in order to sync with the bit-stream.

Table 5: Bit allocation for high-band in wideband mode
Parameter Update rate 0 1 2 3 4
Wideband bit frame 1 1 1 1 1
Mode ID frame 3 3 3 3 3
LSP frame 0 12 12 12 12
Excitation gain sub-frame 0 5 4 4 4
Excitation VQ sub-frame 0 0 20 40 80
Total frame 4 36 112 192 352

Table: Quality versus bit-rate for the wideband encoder
Mode/Quality Bit-rate (bps) Quality/description
0 3,950 Barely intelligible (mostly for comfort noise)
1 5,750 Very noticeable artifacts/noise, poor intelligibility
2 7,750 Very noticeable artifacts/noise, good intelligibility
3 9,800 Artifacts/noise sometimes annoying
4 12,800 Artifacts/noise usually noticeable
5 16,800 Artifacts/noise sometimes noticeable
6 20,600 Need good headphones to tell the difference
7 23,800 Need good headphones to tell the difference
8 27,800 Hard to tell the difference even with good headphones
9 34,400 Hard to tell the difference even with good headphones
10 42,400 Completely transparent for voice, good quality music

Jean-Marc Valin 2007-05-23