Answer Key
- The primary objective of Annex C+ is to define a reference floating-point implementation for the G.729 speech coding algorithm. It specifically details how to integrate the G.729 main body with Annexes B, D, and E into a unified system.
- The recommendation is based on the Conjugate Structure Algebraic Code-Excited Linear Prediction (CS-ACELP) algorithm. The main body of G.729 specifies the coding of speech at a bit rate of 8 kbit/s.
- Corrigendum 1 made several textual and editorial corrections to the description of Annex C+. These changes corrected formulas and variable names in the text but were confirmed to have no impact on the C-source code itself.
- Annex C+ was prepared by ITU-T Study Group 16 (1997-2000). It was approved on 17 February 2000 under the WTSC Resolution No. 1 procedure.
- Annex C+ introduced a new “Music detection” algorithm. This function is performed immediately following the Voice Activity Detection (VAD) and forces the VAD to a “speech” decision during music segments when operating under Annex E.
- The three guiding constraints were: 1) achieving bit-exactness with the main body in floating point; 2) minimizing additional program code, memory, and complexity; and 3) adhering to stringent quality requirements for new functionality.
- The integration of Annex D is described as straightforward. In contrast, integrating Annex E is more involved because its VAD function is performed after the 10th order forward LPC analysis, whereas the main body uses backward adaptive LPC analysis.
- The two main programs are coderepc.c and decoderepc.c. coderepc.c simulates the encoder, taking an input file and generating a bitstream file, while decoderepc.c simulates the decoder, taking the bitstream and producing an output file.
- The WTSC meets every four years and is responsible for establishing the topics for study by the various ITU-T Study Groups. These Study Groups, in turn, are responsible for producing the Recommendations on the topics assigned to them.
- The dtx_option parameter can be set to 0, which disables Discontinuous Transmission (DTX). Alternatively, it can be set to 1, which enables DTX functionality.