200 likes | 368 Views
Universal Speech and Audio Codec Linear Prediction Domain processing. Philippe Gournay, Bruno Bessette, Roch Lefebvre. Université de Sherbrooke Département de Génie Electrique et Informatique Sherbrooke, Québec, Canada. Outline. The 3GPP AMR-WB+ Standard
E N D
Universal Speech and Audio Codec Linear Prediction Domain processing Philippe Gournay, Bruno Bessette, Roch Lefebvre Université de Sherbrooke Département de Génie Electrique et Informatique Sherbrooke, Québec, Canada
Outline • The 3GPP AMR-WB+ Standard • Source of inspiration for LPD processing in USAC • Changes brought to LPD processing • Forward Aliasing Cancellation • Frequency-Domain Noise Shaping • Other changes • Conclusion • More efficient LPD processing • Better unification of LPD and non-LPD FD coders
Context • The 3GPP AMR-WB+ Standard • Hybrid codec • Time (ACELP) and Frequency (TCX) Domain • Very efficient on speech and speech-over-music contents
The AMR-WB+ Encoder PACKETIZATION ACELP 1 frame Bitstream Audio TCX Mode Selection 1, 2 or 4 frames Mode Index, ISF
AMR-WB+ Frame Structure • Three out of the 26 possible ACELP/TCX coding configurations (a) ACELP ACELP ACELP ACELP (b) Short TCX ACELP Medium TCX (c) Long TCX One super-frame = 1024 samples
Transitions from ACELP to TCX • Zero-input response (ZIR) of LPC weighting filter provides pseudo-windowing Decoded TCX window ACELP Frame 1/8 overlap
Transitions from TCX to ACELP • Redundant windowed TCX samples are discarded Decoded TCX window 1/8 overlap Frame ACELP
Limitations of the AMR-WB+ model • Non-critically sampled transforms • FFT vs. MDCT • Inefficiencies at transitions between modes • Sub-optimal windowing (from ACELP to TCX) • Discarded samples (from TCX to ACELP) • Transform windows not aligned with ACELP grid • LPC analysis window also shifted to the right • Even worse when switching with AAC • Time-Domain Aliasing Cancellation (TDAC) • Transitions between LPD and non-LPD processing
Changes brought to the LPD processing • Replaced FFTs by MDCTs • Introduced Frequency Domain Noise Shaping • Introduced Forward Aliasing Cancellation • Other changes
Frequency Domain Noise Shaping • To unify processing of AAC and TCX frames, the MDCT transform in TCX is applied in the original signal domain • Noise shaping for TCX frames is performed in the MDCT domain based on LPC filters mapped to the MDCT domain • FDNS allows a smooth (sample-by-sample) time-domain noise envelope by applying a 1st-order filtering to the MDCT coefficients (similar in principle to TNS)
Effect of FDNS on the spectral shape and the time-domain envelope of the noise Noise gains g1[m] calculated at time position A Frequency axis (k or m) Interpolated gains seen in the time domain, for each of the M bands A Noise gains g2[m] calculated at time position B C Frequency axis (k or m) B time axis (n)
Frequency-Domain Noise Shaping • FDNS allows a smooth (sample-by-sample) time-domain noise envelope by applying a 1st-order filtering to the MDCT coefficients (similar in principle to TNS)
Forward Aliasing Cancellation • Introduced to compensate windowing and time-domain aliasing in MDCT-coded frames when switching to and from ACELP frames Windowing effect and Time Domain Aliasing TCX frame output Next ACELP frame ACELP synthesis - +
Forward Aliasing Cancellation • FAC is applied in the original signal domain • FAC is quantized in the LPC weighted domain so that quantization noises of FAC and decoded MDCT are of the same nature • For transition from ACELP to TCX, the ACELP synthesis can be taken into account; this reduces the bitrate needed to encode FAC
Computation of FAC targetsfor transitions from and to ACELP (encoder) LPC1 LPC2 Signal in the original domain Line 1 + - TCX frame output Next ACELP frame ACELP synthesis Line 2 - + + Windowed ACELP ZIR Windowed and folded ACELP synth - ACELP contribution Line 3 + TCX frame error (including ACELP contribution) ACELP error Line 4 FAC target FAC target
Quantization of FAC targets Filter memory (ACELP error) Zero memory LPC1 LPC1 1/W1(z) ZIR W1(z) DCT-IV Q 1/W1(z) DCT-IV-1 FAC synthesis Transmit to decoder FAC target Transition from ACELP to TCX Filter memory (TCX frame error) Zero memory LPC2 LPC2 W2(z) DCT-IV Q 1/W2(z) DCT-IV-1 FAC synthesis Transmit to decoder FAC target Transition from TC to ACELP
Other changes brought to the LPD processing • Critical sampling • MDCT vs. FFT • FAC+FDNS • Scalar quantizer + adaptive arithmetic coder for TCX (AMR-WB+ uses AVQ) • Variable bit rate • LPC quantizer • Bit reservoir adaptation
Conclusion • USAC makes use of LPD and non-LPD processing • LPD mode inspired by AMR-WB+ • Non-LPD mode derived from AAC • Substantial changes were brought to the LPD processing, and new tools were introduced to make it more efficient • Frequency Domain Noise Shaping (FDNS) • Forward Aliasing Cancellation (FAC) • USAC is a real unification of two coding models