WO2001024166A1 - G.723.1 audio encoder - Google Patents

G.723.1 audio encoder Download PDF

Info

Publication number
WO2001024166A1
WO2001024166A1 PCT/SG1999/000096 SG9900096W WO0124166A1 WO 2001024166 A1 WO2001024166 A1 WO 2001024166A1 SG 9900096 W SG9900096 W SG 9900096W WO 0124166 A1 WO0124166 A1 WO 0124166A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal processing
coding system
processing loop
acelp
mlq
Prior art date
Application number
PCT/SG1999/000096
Other languages
French (fr)
Inventor
Wenshun Tian
Original Assignee
Stmicroelectronics Asia Pacific Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stmicroelectronics Asia Pacific Pte Ltd filed Critical Stmicroelectronics Asia Pacific Pte Ltd
Priority to US10/089,758 priority Critical patent/US6738733B1/en
Priority to PCT/SG1999/000096 priority patent/WO2001024166A1/en
Priority to DE69926019T priority patent/DE69926019D1/en
Priority to EP99948015A priority patent/EP1221162B1/en
Publication of WO2001024166A1 publication Critical patent/WO2001024166A1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation
    • G10L2019/0008Algebraic codebooks

Definitions

  • the present invention relates to low complexity encoders, and more particularly, to low complexity encoders for implementing recommendation G.723.1 of the International Telecommunication Union (TTU-T).
  • TTU-T International Telecommunication Union
  • codecs may be preferred for some computationally intensive applications. If the complexity of the codec is the bottleneck in a system, complexity reduction is desirable and can result in a significant reduction in millions of instructions per second (MIPS) required to be executed by the encoder.
  • MIPS instructions per second
  • the ITU-T recommendation G.723.1 incorporated herein by reference, relates to dual rate speech coding for multimedia communications transmitting at 5.3 and 6.3 Kbps.
  • the recommendation prescribes certain methods of implementation for each of these transmission rates.
  • the 6.3 Kbps codec has better quality and uses Multi-Phase Maximum Likelihood Quantization (MP-MLQ) for fixed codebook excitation.
  • MP-MLQ Multi-Phase Maximum Likelihood Quantization
  • the 5.3 Kbps codec uses Algebraic Code-Excited Linear Prediction (ACELP).
  • ACELP Algebraic Code-Excited Linear Prediction
  • the present invention provides a method of reducing the computational load of a dual rate encoding system, the encoding system being configured to transmit at a first transmission rate using a Multi-Pulse Maximum Likelihood Quantization (MP-MLQ) process or at a second transmission rate using an Algebraic Code-Excited Linear Prediction (ACELP) process, wherein the MP-MLQ process normally searches subframes of excitation signals according to a nominal number of gain scale factors in the execution of quantization steps for encoding the speech signals and the ACELP process normally imposes a first correlation threshold test for entry into an embedded signal processing loop, the method including the step of: for the MP-MLQ process, reducing the number of gain scale factors employed in the quantization steps, thereby reducing the number of searches, which in turn reduces the computational load; or for the ACELP process, imposing a second correlation threshold test for entry into a previous signal processing loop in which the embedded signal processing loop is embedded, thereby reducing the number of times the previous signal processing loop and the embedded signal
  • the present invention further provides a dual rate speech coding system having a reduced computational load, the encoding system having Multi-Pulse Maximum Likelihood Quantization (MP-MLQ) processing means for transmitting at a first transmission rate and Algebraic Code-Excited Linear Prediction (ACELP) processing means for transmitting at a second transmission rate, wherein the MP-MLQ processing means normally searches subfram.es of excitation signals according to a nominal number of gain scale factors in quantization of the speech signals, and the ACELP processing means normally uses a first correlation threshold test for allowing entry into an embedded signal processing loop, wherein: the MP-MLQ processing means has a reduced number of gain scale factors for reducing the number of searches and thereby reducing the computational load; the ACELP processing means uses a second correlation threshold test for allowing entry into a previous signal processing loop in which the embedded signal processing loop is embedded, tliereby reducing the number of times the previous signal processing loop and the embedded signal processing loop are entered, which in turn reduces the computational load.
  • embodiments of the invention simplify the ACELP and MP-MLQ methods by reducing the number of recursions which make less contribution to the metrics. This is achieved by selecting less gain levels or putting an extra threshold to decrease the chance to enter the most computational intensive loops.
  • the proposed encoder scheme is applicable for both ITU-T recommendations G.723.1 and G.723.1A.
  • ACELP excitation further complexity reduction is possible by adjusting the thresholds.
  • This complexity reduction for ACELP excitation is also applicable for G.729 and its annexes.
  • Figure 1 is a block diagram of the G.723.1 speech coder.
  • Procedure 1 is a pseudocode representation of the standard MP-MLQ procedure of the G.723.1 speech coder
  • Procedure 2 is a pseudocode representation of the MP-MLQ procedure of an embodiment of the present invention.
  • Procedure 3 is a pseudocode representation of the standard ACELP procedure of the G.723.1 speech coder;
  • Procedure 4 is a pseudocode representation of the ACELP procedure of an embodiment of the present invention.
  • a MP-MLQ/ACELP block 10 for implementing the MP-MLQ and ACELP excitation methods is shown in Figure 1. These methods take up almost half of computational load of the whole codec. Since embodiments of the present invention only relate to these two fixed codebook excitation methods, the description relates only to these excitation techniques and not to other parts of the G.723.1 speech coder. Apart from the fixed codebook excitation part (i.e. block 10), all other modules are the same for the dual rate coders.
  • the decoding scheme, for decoding bit streams encoded with the low complexity encoder remains the same as for the normal ITU-T G.723.1 recommendation.
  • the object of the quantization procedure is to find the optimized excitation e u (n) which makes the mean square error minimum, based on an analysis by synthesis method.
  • the excitation signal is given by fc-0
  • G u is the gain factor
  • ⁇ (n) is a Dirac function
  • ( ⁇ 1) positions of the Dirac functions respectively
  • N law is the number of pulses, which is 5 for odd subframes and 6 for even subframes.
  • the pulse positions in are either all odd or all even. This is indicated by a grid bit.
  • the scalar gain quantizer consists of 24 steps, of 3.2 dB each, Around the quantized value, G u , additional gain values are selected within the range [G u - 6.4dB; G u + 3.2dB]. The optimal combination of pulse locations and gains are then transmitted to the remaining encoder modules.
  • the following additional procedure is used. If the pitch lag is less than 58 samples for a particular subframe, a train of Dirac functions with a period of the pitch index is used for each location ⁇ k instead of a single Dirac function in the above quantization procedure. The choice between a train of Dirac functions or a single Dirac function to represent the residual signal is made based on the mean square error computation. The configuration which yields the lowest mean square error is selected.
  • the optimization procedure is represented in pseudocode as shown in Procedure 1.
  • the symbols InsCI inside the brackets are the cycles needed for a given processor; and the number of cycles if using, for example, a D950 processor.
  • the D950 is a normal 16-bit fixed-point digital signal processor (DSP) made by STMicroelectronics.
  • Other 16-bit fixed-point DSPs are the ADSP-2181 by Analog Devices and the TMS320C54x series by Texas Instruments.
  • Each fixed codevector contains four non-zero pulses which can assume the signs and positions given in the following table.
  • ⁇ k is the position of the k 1 ' 1 pulse and a k is its sign ( ⁇ 1).
  • a focused search approach is used to simplify the search procedure. To limit the number of times entering the last loop, a threshold is applied and the last loop is entered only if this threshold is exceeded. The maximum number of times the loop can be entered is fixed so that a low percentage of the codebook is searched. The maximum absolute correlation C, ⁇ and the average correlation C ⁇ j due to the contribution of the first three pulses are found prior to the codebook search.
  • the threshold is given by:
  • the number of times the last loop is entered (for the 4 subframes) is not allowed to exceed 600. (The average worst case per subframe is 150 times).
  • Procedure 3 InsCi is the number of instruction cycles, foDowed by an example number of cycles for the D950 implementation. The total cycles are calculated by
  • ⁇ ime 3 is the number of times entering the last loop.
  • the maximum number of time ⁇ is set to 150. Therefore the worst case cycles per 7.5 ms subframe are 62907 if using a D950 processor, which equates to 8.4 MIPS.
  • the modules may be shared by both G.723.1 and the lower complexity implementation of the G.723.1 coder (LC-G.723.1).
  • the coding system is selectable between bit-exact G.723.1 and LC-G.723.1 coders, leading to an embedded system. This is shown by the procedure as follows:
  • Procedure 2 For the low-complexity encoding of 6.3 Kbps and 5.3 Kbps codecs in accordance with the present invention, the operation procedures are shown in Procedure 2 and Procedure 4 respectively.
  • MP-MLQ One of the characteristics of MP-MLQ is that the latter pulse contribution will be added upon the previous one and all pulses are scaled by one gain. For each new found pulse, the gain is further fine tuned within the range [-6.4dB;-3.2dB; 0; +3.2dB]. Since all pulses share one gain, the observation is that the gain level decreases as the number of found pulses increases. Due to the characteristic of MP-MLQ, the additional higher gain levels (0 and +3.2dB) are rarely selected. In this simplification, we only use two gain levels, i.e. -6.4 dB and -3.2 dB around the previous quantized gain. Therefore the number of instructions inside the gain searching loop can be decreased by about half for each subframe when the pitch lag is less than 58 samples.
  • the worst case number of cycles for MP-MLQ is calculated as:
  • the total number of cycles per subframe is 39424.
  • the worst case is when the pitch lag ⁇ 58, which is just the opposite of fixed codebook excitation. If the number of gain levels decreases from 4 to 2 for fixed codebook excitation, the computational load is reduced from Equation (2) to Equation (6). To balance the computational load for all cases, the codes are also simplified for when the pitch lag ⁇ 58. The number of searched gain levels is reduced from 4 to 3, i.e. -6.4, -3.2 and 0 dB. (please refer to Procedure 2).
  • the number of cycles per subframe for MP-MLQ with a pitch lag ⁇ 58 is calculated as
  • a purpose of embodiments of the invention is to reduce the complexity for the worst case scenario (i.e., under the most intensive computational load). If the complexity is reduced in the worst case, the overall MIPS requirement is reduced accordingly.
  • the most complex modules are the fixed codebook excitation module (MP-MLQ) and adaptive ' excitation module. The complexity of these two modules changes depending on the pitch lag, while other modules are relatively stable in terms of computational load. Shown in Table 2 below is a comparison of the MIPS requirements for the worst case (pitch lag ⁇ 58 samples) and the normal case (pitch lag ⁇ 58) for a D950 DSP.
  • thr2 (C flv2 + (C miu , 2 -C ev2 ) / 4)
  • Inscl + InsC ⁇ 2 + 8 x (InsC2 4- InsCU) + 64 x (7 ⁇ C3 + ⁇ wClO) + tlme 2 x (InsQU + InsCU) +(64 - tim ⁇ x InsC 15 -I- time 2 x 8 x (InsCA + InsC9) + time 3 x 8 x (InsCl + 8 x //w C6) + (tim 2 x 8 - x 7 ⁇ SC8 8373 + time 2 x 336 + time 3 x 238
  • ⁇ ime 2 and t ⁇ e_ are the number of times the processor enters into the 3" 1 and 4 th loops respectively.
  • the time 2 and tim are set to 32 and 75 respectively. Therefore the worst case number of cycles will become 36976. Comparing with Equation (5), 25932 cycles or 3.45 MIPS can be saved (if using the D950 processor).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention relates to a speech encoder and corresponding encoding method for a dual rate coding system generally in accordance with the ITU-T G.723.1 recommendation, the dual rate coding system using Multi-Pulse Maximum Likelihood Quantization (MP-MLQ) and Algebraic Code-Excited Linear Prediction (ACELP) implementations for respective higher and lower transmission rates, wherein if the higher transmission rate is applicable, the number of gain scale factors searched in quantization steps is reduced, and if the lower transmission rate is applicable, the coding system has a threshold test for entry into the third processing loop of the ACELP implementation. The decoder may be a normal decoder. For example, a G.723.1 decoder may also be used to decode the bit streams encoded by a low complexity G.723.1 encoder in accordance with the invention.

Description

G.723.1 AUDIO ENCODER
The present invention relates to low complexity encoders, and more particularly, to low complexity encoders for implementing recommendation G.723.1 of the International Telecommunication Union (TTU-T).
Lower complexity compressors/decompressors (codecs) may be preferred for some computationally intensive applications. If the complexity of the codec is the bottleneck in a system, complexity reduction is desirable and can result in a significant reduction in millions of instructions per second (MIPS) required to be executed by the encoder.
The ITU-T recommendation G.723.1, incorporated herein by reference, relates to dual rate speech coding for multimedia communications transmitting at 5.3 and 6.3 Kbps. The recommendation prescribes certain methods of implementation for each of these transmission rates. The 6.3 Kbps codec has better quality and uses Multi-Phase Maximum Likelihood Quantization (MP-MLQ) for fixed codebook excitation. The 5.3 Kbps codec uses Algebraic Code-Excited Linear Prediction (ACELP). A functional module of the codec which executes these two encoding methods bears almost half of the computational load of the entire G.723.1 speech coder. If the methods executed by the functional module are made to have a decreased computational load, the G.723.1 speech coder will have an increased efficiency.
The present invention provides a method of reducing the computational load of a dual rate encoding system, the encoding system being configured to transmit at a first transmission rate using a Multi-Pulse Maximum Likelihood Quantization (MP-MLQ) process or at a second transmission rate using an Algebraic Code-Excited Linear Prediction (ACELP) process, wherein the MP-MLQ process normally searches subframes of excitation signals according to a nominal number of gain scale factors in the execution of quantization steps for encoding the speech signals and the ACELP process normally imposes a first correlation threshold test for entry into an embedded signal processing loop, the method including the step of: for the MP-MLQ process, reducing the number of gain scale factors employed in the quantization steps, thereby reducing the number of searches, which in turn reduces the computational load; or for the ACELP process, imposing a second correlation threshold test for entry into a previous signal processing loop in which the embedded signal processing loop is embedded, thereby reducing the number of times the previous signal processing loop and the embedded signal processing loop are entered, which in turn reduces the computational load.
The present invention further provides a dual rate speech coding system having a reduced computational load, the encoding system having Multi-Pulse Maximum Likelihood Quantization (MP-MLQ) processing means for transmitting at a first transmission rate and Algebraic Code-Excited Linear Prediction (ACELP) processing means for transmitting at a second transmission rate, wherein the MP-MLQ processing means normally searches subfram.es of excitation signals according to a nominal number of gain scale factors in quantization of the speech signals, and the ACELP processing means normally uses a first correlation threshold test for allowing entry into an embedded signal processing loop, wherein: the MP-MLQ processing means has a reduced number of gain scale factors for reducing the number of searches and thereby reducing the computational load; the ACELP processing means uses a second correlation threshold test for allowing entry into a previous signal processing loop in which the embedded signal processing loop is embedded, tliereby reducing the number of times the previous signal processing loop and the embedded signal processing loop are entered, which in turn reduces the computational load.
Advantageously, embodiments of the invention simplify the ACELP and MP-MLQ methods by reducing the number of recursions which make less contribution to the metrics. This is achieved by selecting less gain levels or putting an extra threshold to decrease the chance to enter the most computational intensive loops.
Advantageously, the proposed encoder scheme is applicable for both ITU-T recommendations G.723.1 and G.723.1A. For ACELP excitation, further complexity reduction is possible by adjusting the thresholds. This complexity reduction for ACELP excitation is also applicable for G.729 and its annexes. The present invention will now be described in further detail, by way of example only, with reference to the accompanying drawing.
Figure 1 is a block diagram of the G.723.1 speech coder.
Reference is also made to the following procedures which are appended to this description.
Procedure 1 is a pseudocode representation of the standard MP-MLQ procedure of the G.723.1 speech coder;
Procedure 2 is a pseudocode representation of the MP-MLQ procedure of an embodiment of the present invention;
Procedure 3 is a pseudocode representation of the standard ACELP procedure of the G.723.1 speech coder; Procedure 4 is a pseudocode representation of the ACELP procedure of an embodiment of the present invention.
A MP-MLQ/ACELP block 10 for implementing the MP-MLQ and ACELP excitation methods is shown in Figure 1. These methods take up almost half of computational load of the whole codec. Since embodiments of the present invention only relate to these two fixed codebook excitation methods, the description relates only to these excitation techniques and not to other parts of the G.723.1 speech coder. Apart from the fixed codebook excitation part (i.e. block 10), all other modules are the same for the dual rate coders. The decoding scheme, for decoding bit streams encoded with the low complexity encoder, remains the same as for the normal ITU-T G.723.1 recommendation.
MP-MLQ Excitation (normal complexity)
The object of the quantization procedure is to find the optimized excitation eu(n) which makes the mean square error minimum, based on an analysis by synthesis method. The excitation signal is given by
Figure imgf000005_0001
fc-0
(1) where Gu is the gain factor, δ(n) is a Dirac function, (±1)
Figure imgf000005_0002
and positions of the Dirac functions respectively, and N„ is the number of pulses, which is 5 for odd subframes and 6 for even subframes. The pulse positions in are either all odd or all even. This is indicated by a grid bit.
The scalar gain quantizer consists of 24 steps, of 3.2 dB each, Around the quantized value, Gu, additional gain values are selected within the range [Gu - 6.4dB; Gu + 3.2dB]. The optimal combination of pulse locations and gains are then transmitted to the remaining encoder modules.
To improve the quality of speech with a short pitch period, the following additional procedure is used. If the pitch lag is less than 58 samples for a particular subframe, a train of Dirac functions with a period of the pitch index is used for each location ξk instead of a single Dirac function in the above quantization procedure. The choice between a train of Dirac functions or a single Dirac function to represent the residual signal is made based on the mean square error computation. The configuration which yields the lowest mean square error is selected.
Based on the above brief description of MP-MLQ, the optimization procedure is represented in pseudocode as shown in Procedure 1. The symbols InsCI inside the brackets are the cycles needed for a given processor; and the number of cycles if using, for example, a D950 processor. The D950 is a normal 16-bit fixed-point digital signal processor (DSP) made by STMicroelectronics. Other 16-bit fixed-point DSPs are the ADSP-2181 by Analog Devices and the TMS320C54x series by Texas Instruments. Although the number of instructions required to execute the same function may vary among different DSPs, the invention will still achieve a significant savings in MIPS for each appropriate DSP.
The worst case for MP-MLQ is that above optimization procedure is conducted twice when the pitch is less than 58 samples. The total number of cycles per subframe is given by Total cycles per subframe =2 x{rπsCl+2x[lnsC2+InsC6+4x(InsC3+IτιsC4+InsC5)]}
(2)
Therefore the total number of cycles per subframe for the procedure of Procedure 1 is 64368 if using the D950 processor.
ACELP excitation (normal complexity)
For the ACELP technique for fixed codebook excitation, a 17-bit algebraic codebook is used for the stochastic codebook excitation eω(n). Each fixed codevector contains four non-zero pulses which can assume the signs and positions given in the following table.
Table 1 ACELP excitation codebook
Sign Positions
±1 0 8 16 24 32 40 48 56
±1 2 10 18 26 34 42 50 58
±1 4 12 20 28 36 44 52 (60)
±1 6 14 22 30 38 46 54 (62)
In the table, all pulses are in the even positions but the positions of all pulses can be simultaneously shifted by one (to occupy odd positions) when requiring one extra bit. Note that the last position of each of the last two pulses falls outside the subframe boundary, which signifies that the pulse is not present. Each pulse position is encoded with 3 bits and each pulse sign is encoded with 1 bit. This gives a total of 16 bits for the 4 pulses. Further, an extra bit is used to encode the shift. The excitation sequence is defined as
e«.m(n) = θoδ(n-ξo) + αιδ(n-ξt) + θiδ(n-ξ2) + a3b(n-ξj
(3)
where ξk is the position of the k1'1 pulse and ak is its sign (± 1). A focused search approach is used to simplify the search procedure. To limit the number of times entering the last loop, a threshold is applied and the last loop is entered only if this threshold is exceeded. The maximum number of times the loop can be entered is fixed so that a low percentage of the codebook is searched. The maximum absolute correlation C,^ and the average correlation C^j due to the contribution of the first three pulses are found prior to the codebook search. The threshold is given by:
tΛr3 = Cϊv3+(Cmιtt3-C„V3)/2
(4) The fourth loop is entered only if the absolute correlation (of the three pulses) exceeds thrβ.
To further control the search, the number of times the last loop is entered (for the 4 subframes) is not allowed to exceed 600. (The average worst case per subframe is 150 times).
Based on the above brief description of ACELP, the optimization procedure is represented in pseudocode as shown in Procedure 3. In Procedure 3, InsCi is the number of instruction cycles, foDowed by an example number of cycles for the D950 implementation. The total cycles are calculated by
InsCl +InsCl2+Sx(InsC2+InsCU) + 8lx(InsC3 +InsC10) + 82x(InsC4+InsC9)+ time3x(JnsC5 +InsCl + &xInsC6) + (83-ήme )xInsCS
=27207 + time jx238 [if using a D950 processor] =62907 [if timez = 150]
(5)
where ιime3 is the number of times entering the last loop. At the worst case, the maximum number of time^ is set to 150. Therefore the worst case cycles per 7.5 ms subframe are 62907 if using a D950 processor, which equates to 8.4 MIPS.
Lower Complexity Implementations
In embodiments of the invention the modules (codes) may be shared by both G.723.1 and the lower complexity implementation of the G.723.1 coder (LC-G.723.1). Preferably, the coding system is selectable between bit-exact G.723.1 and LC-G.723.1 coders, leading to an embedded system. This is shown by the procedure as follows:
If (lower complexity enabled)
If (6.3kbit/s)
6.3kbit s LC-G723.1 encoding Else 5.3kbit/s LC-G723.1 encoding Else If (6.3kbit/s)
6.3 Kbit/s encoding Else 5.3 Kbit/s encoding
For the low-complexity encoding of 6.3 Kbps and 5.3 Kbps codecs in accordance with the present invention, the operation procedures are shown in Procedure 2 and Procedure 4 respectively.
One of the characteristics of MP-MLQ is that the latter pulse contribution will be added upon the previous one and all pulses are scaled by one gain. For each new found pulse, the gain is further fine tuned within the range [-6.4dB;-3.2dB; 0; +3.2dB]. Since all pulses share one gain, the observation is that the gain level decreases as the number of found pulses increases. Due to the characteristic of MP-MLQ, the additional higher gain levels (0 and +3.2dB) are rarely selected. In this simplification, we only use two gain levels, i.e. -6.4 dB and -3.2 dB around the previous quantized gain. Therefore the number of instructions inside the gain searching loop can be decreased by about half for each subframe when the pitch lag is less than 58 samples.
The worst case number of cycles for MP-MLQ is calculated as:
Total cycles per subfraine +2x{.InsC2+lnsC6+2x(InsC3+ InsCi +InsC5)]}
(6) For the D950 example, the total number of cycles per subframe is 39424.
For an adaptive codebook search, the worst case is when the pitch lag ≥ 58, which is just the opposite of fixed codebook excitation. If the number of gain levels decreases from 4 to 2 for fixed codebook excitation, the computational load is reduced from Equation (2) to Equation (6). To balance the computational load for all cases, the codes are also simplified for when the pitch lag ≥ 58. The number of searched gain levels is reduced from 4 to 3, i.e. -6.4, -3.2 and 0 dB. (please refer to Procedure 2).
The number of cycles per subframe for MP-MLQ with a pitch lag ≥ 58 is calculated as
Total cycles per subframe = Iπ$Cl +2x[InsC2+InsC6+3x(lnsC3+InsC4+InsC5)]
(7)
The total number of cycles per subframe would then be 19826 for the D950 processor example.
Comparing Equations (2) and (6), 24944 cycles per subframe can be saved at worst case (of MP-MLQ) if using the D950 processor. This equates to a saving of 3.3 MIPS. For the normal case, in which MP-MLQ is conducted once, the saved cycles are 12358 per subframe, which equates to 1.65 MIPS. This unbalanced complexity reduction in the fixed codebook search (MP-MLQ) corresponds to the unbalanced computational load adaptive codebook search, in which, for example, about 30,000 and 46,000 cycles are needed respectively for the worst case and normal case of MP-MLQ.
A purpose of embodiments of the invention is to reduce the complexity for the worst case scenario (i.e., under the most intensive computational load). If the complexity is reduced in the worst case, the overall MIPS requirement is reduced accordingly. At the higher bit rate, the most complex modules are the fixed codebook excitation module (MP-MLQ) and adaptive ' excitation module. The complexity of these two modules changes depending on the pitch lag, while other modules are relatively stable in terms of computational load. Shown in Table 2 below is a comparison of the MIPS requirements for the worst case (pitch lag < 58 samples) and the normal case (pitch lag ≥58) for a D950 DSP.
Table 2 Complexity comparison 6.3kbits/s for one subframe (7.5ms)
Figure imgf000010_0001
From Procedure 3 and Equation (5), it is apparent that any instructions inside the i2 and i3 loops will be executed hundreds of times. It may be advantageous to further limit the numbers entering these two loops. Instead of using one threshold, two thresholds are used.
Both the maximum absolute correlation and the average correlation due to the contribution of the first two and three pulses, Cmax2 and Cm2, and Qimx3 and vJ , are found prior to the codebook search. The thresholds are calculated by:
thr2 =(Cflv2 + (Cmiu,2-Cev2) / 4)
(8) thr 3= (CflVi + (CmttrJ - CavJ) / 3)
(9)
Now we have two thresholds. To further control the search, the average number of times the third and last loops are entered is not allowed to exceed 32 and 75 (for example), respectively for each subframe. The proposed low-complexity ACELP optimization procedure is modified as in Procedure 4. The total number of cycles per subframe is given by:
Inscl + InsC\2 + 8 x (InsC2 4- InsCU) + 64 x (7^C3 + ΛwClO) + tlme2 x (InsQU + InsCU) +(64 - tim ^ x InsC 15 -I- time2 x 8 x (InsCA + InsC9) + time3 x 8 x (InsCl + 8 x //w C6) + (tim 2 x 8 -
Figure imgf000011_0001
x 7ΛSC8 = 8373 + time2 x 336 + time3 x 238
(10)
where ιime2 and t^e_, are the number of times the processor enters into the 3"1 and 4th loops respectively. For the worst case, the time2 and tim are set to 32 and 75 respectively. Therefore the worst case number of cycles will become 36976. Comparing with Equation (5), 25932 cycles or 3.45 MIPS can be saved (if using the D950 processor).
It should be noted that further complexity reduction is simple to effect for this ACELP excitation by choosing smaller time2 and tirrψ parameters and corresponding higher thresholds. The proposed parameters for this LC-G.723.1 are based on the objective that LC- G.723.1 should have similar performances to G.723.1. If further reduction of complexity is needed, the performance will be smoothly degraded. For example, by increasing the threshold levels and corresponding allowed loop entry times time2 and time3 to 20 and 60 respectively, a further 1.01 MIPS can be saved.
PROCEDURE 1
do twice or once depending on the pitch lag pre-scarch (InsCl, 6116) for k = 0,1 (grid) fmd the first pulse and quantize gain (InsCl, 537) for i = 1, 2, 3, 4 (gain) prepare searching (InsC3, 173) find remain pulses (InsCA, 2261) evaluate the error (7ΛSC5, 687) post process (InsC6, 13)
PROCEDURE 2
if pitch lag < 58 do twice
pre-search (7π.sCl, 6116) for k a 0,1 (grid) find the first pulse and quantize gain (InsCl, 2537) for i = 1, 2 (gain) prepare searching (InsC3, 173) find remain pulses (7ΛSC4, 2261) evaluate the error (InsC5, 687) post process (InsC6, 13)
else do once
pre-search (InsC 1 , 116) for k = 0,1 (grid) find the first pulse and quantize gain (InsCl, 2537) for i = 1, 2, 3 (gain) prepare searching (7πi'C3, 173) fmd remain pulses (7/wC4, 2261) evaluate the error (InsC5, 687) post process (InsCβ, 13) PROCEDURE 3
pre-search (InsCl ,4195) far iO = 0, ... ,7 (first pulse) partial correlation & energy calculation (InsCl, 12) for il = 0,..., 7 (second) partial correlation Sc energy calculation (InsC3, 26) for 12 = 0 7 (third) partial correlation & energy calculation (7tz.yC4, 30) if (correlation > threshold) prepare for last loop (InsCS, 14) for i3 = 0, ..., 7 Qast)
{correlation & energy calculation and evaluation (InsCβ, 25)} update (InsCl, 26) else
Update (InsC8, 2) post process (7rz5C9, 5) post process (InsCIO, 22) do post (7?uCll, 17) post process (7rcsC12, 746) PROCEDURE 4
pre-search (InsCl, 4915) fa r iO = 0.....7 (first loop) partial correlation & energy calculation (InsCl, 12) for i! = 0,..., 7 (second) partial correlation & energy calculation (InsC3, 16) if (correlation > threshold!) preparation (7τwC 13, 14) for i2 = 0,..., 7 (third) partial correlation & energy calculation (7>wC4, 30) if (correlation > threshold) preparation (InsC5, 14) for i3 = 0,..., 7 (last) {correlation & energy calculation, and evaluation
(InsC6,25)} post process else update (InsC8, 2) do post process (InsC9, 5) post process (7Λ_?C14, 26) else update (InsCl5, 2) post process (7ΛSC10, 22) post process (InsCU, 17) post process (7?LSC12, 746)

Claims

CLAIMS:
1. A method of reducing the computational load of a dual rate encoding system, the encoding system being configured to transmit at a first transmission rate using a Multi-Pulse Maximum Likelihood Quantization (MP-MLQ) process or at a second transmission rate using an Algebraic Code-Excited Linear Prediction (ACELP) process, wherein the MP-MLQ process normally searches subframes of excitation signals according to a nominal number of gain scale factors in the execution of quantization steps for encoding the speech signals and the ACELP process normally imposes a first correlation threshold test for entry into an embedded signal processing loop, the method including the step of: for the MP-MLQ process, reducing the number of gain scale factors employed in the quantization steps, thereby reducing the number of searches, which in turn reduces the computational load; or for the ACELP process, imposing a second correlation threshold test for entry into a previous signal processing loop in which the embedded signal processing loop is embedded, thereby reducing the number of times the previous signal processing loop and the embedded signal processing loop are entered, which in turn reduces the computational load.
2. The method of claim 1, wherein the second threshold test is apphcable for entry into the third of four signal processing loops.
3. The method of claim 2, wherein if the second transmission rate is applicable, the method further includes the step of substituting for the first threshold a higher threshold for entry into the fourth signal processing loop.
4. The method of claim 3, wherein if the second transmission rate is applicable, further including the step of limiting the number of times the third or fourth signal processing loop may be entered.
5. The method of claim 4, wherein the third or fourth signal processing loops may be entered up to 32 or 75 times respectively for each of the speech subframes.
6. The method of claim 5, wherein the dual rate coding system is generally in accordance with the ITU-T G.723.1 recommendation.
7. The method of claim 1, wherein if a pitch lag of the subframe is less than a predetermined parameter, the number of gain scale factors searched is reduced from four to two.
8. The method of claim 7, wherein if the pitch lag of the subframe is equal to or greater than the predetermined parameter, the number of gain scale factors searched is reduced from four to three.
9. The method of claim 8, wherein the predetermined parameter is 58.
10. The method of claim 1 or 9, wherein the quantization steps and a pre-search are executed once if the pitch lag is greater than or equal to 58 and twice if the pitch lag is less than 58.
11. A dual rate speech coding system having a reduced computational load, the encoding system having Multi-Pulse Maximum Likelihood Quantization (MP-MLQ) processing means for transmitting at a first transmission rate and Algebraic Codc-Excited Linear Prediction (ACELP) processing means for transmitting at a second transmission rate, wherein the MP- MLQ processing means normally searches subframes of excitation signals according to a nominal number of gain scale factors in quantization of the speech signals, and the ACELP processing means normally uses a first correlation threshold test for allowing entry into an embedded signal processing loop, wherein: the MP-MLQ processing means has a reduced number of gain scale factors for reducing the number of searches and thereby reducing the computational load; the ACELP processing means uses a second correlation threshold test for allowing entry into a previous signal processing loop in which the embedded signal processing loop is embedded, thereby reducing the number of times the previous signal processing loop and the embedded signal processing loop are entered, which in turn reduces the computational load.
12. The coding system of claim 11, wherein the second correlation threshold test is used to allow entry into the third of four signal processing loops.
13. The coding system of claim 12, wherein if the second transmission rate is applicable, 5 the coding system has a higher threshold, used in place of the first threshold, for entry into the fourth signal processing loop.
14. The coding system of claim 13, wherein if the second transmission rate is applicable, the number of times the third or fourth signal processing loop may be entered is limited.
10
15. The coding system of claim 14, wherein the limit for entry into the third or fourth signal processing loops is 32 or 75 times respectively for each of a plurality of speech subframes.
15 16. The coding system of claim 11 or 15 , wherein the dual rate coding system is generally in accordance with the ITU-T G.723.1 recommendation.
17. The coding system of claim 11, wherein if a pitch lag of the subframe is less than a predetermined parameter, the number of gain scale factors searched is reduced from four to 0 two.
18 . The coding system of claim 17, wherein if the pitch lag of the subframe is equal to or greater than the predeteπnined parameter, the number of gain scale factors searched is reduced from four to three. 5
19. The coding system of claim 18, wherein the predetermined parameter is 58.
20. The coding system of claim 11 or 19, wherein the quantization steps and a pre-search are executed once if the pitch lag is greater than or equal to 58 and twice if the pitch lag is 0 less than 58.
PCT/SG1999/000096 1999-09-30 1999-09-30 G.723.1 audio encoder WO2001024166A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/089,758 US6738733B1 (en) 1999-09-30 1999-09-30 G.723.1 audio encoder
PCT/SG1999/000096 WO2001024166A1 (en) 1999-09-30 1999-09-30 G.723.1 audio encoder
DE69926019T DE69926019D1 (en) 1999-09-30 1999-09-30 G.723.1 AUDIO CODER
EP99948015A EP1221162B1 (en) 1999-09-30 1999-09-30 G.723.1 audio encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG1999/000096 WO2001024166A1 (en) 1999-09-30 1999-09-30 G.723.1 audio encoder

Publications (1)

Publication Number Publication Date
WO2001024166A1 true WO2001024166A1 (en) 2001-04-05

Family

ID=20430238

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG1999/000096 WO2001024166A1 (en) 1999-09-30 1999-09-30 G.723.1 audio encoder

Country Status (4)

Country Link
US (1) US6738733B1 (en)
EP (1) EP1221162B1 (en)
DE (1) DE69926019D1 (en)
WO (1) WO2001024166A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014263A1 (en) * 2001-04-20 2003-01-16 Agere Systems Guardian Corp. Method and apparatus for efficient audio compression
US8265929B2 (en) * 2004-12-08 2012-09-11 Electronics And Telecommunications Research Institute Embedded code-excited linear prediction speech coding and decoding apparatus and method
SG123639A1 (en) * 2004-12-31 2006-07-26 St Microelectronics Asia A system and method for supporting dual speech codecs

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717825A (en) * 1995-01-06 1998-02-10 France Telecom Algebraic code-excited linear prediction speech coding method
EP0865027A2 (en) * 1997-03-13 1998-09-16 Nippon Telegraph and Telephone Corporation Method for coding the random component vector in an ACELP coder
US5854998A (en) * 1994-04-29 1998-12-29 Audiocodes Ltd. Speech processing system quantizer of single-gain pulse excitation in speech coder
JPH11119799A (en) * 1997-10-14 1999-04-30 Matsushita Electric Ind Co Ltd Method and device for voice encoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701392A (en) * 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
EP0751496B1 (en) * 1992-06-29 2000-04-19 Nippon Telegraph And Telephone Corporation Speech coding method and apparatus for the same
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US5664055A (en) * 1995-06-07 1997-09-02 Lucent Technologies Inc. CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity
US6073092A (en) * 1997-06-26 2000-06-06 Telogy Networks, Inc. Method for speech coding based on a code excited linear prediction (CELP) model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854998A (en) * 1994-04-29 1998-12-29 Audiocodes Ltd. Speech processing system quantizer of single-gain pulse excitation in speech coder
US5717825A (en) * 1995-01-06 1998-02-10 France Telecom Algebraic code-excited linear prediction speech coding method
EP0865027A2 (en) * 1997-03-13 1998-09-16 Nippon Telegraph and Telephone Corporation Method for coding the random component vector in an ACELP coder
JPH11119799A (en) * 1997-10-14 1999-04-30 Matsushita Electric Ind Co Ltd Method and device for voice encoding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FUJITA G ET AL: "Implementation of H.324 audiovisual codec for mobile computing", PROCEEDINGS OF THE IEEE 1998 CUSTOM INTEGRATED CIRCUITS CONFERENCE (CAT. NO.98CH36143), PROCEEDINGS OF THE IEEE 1998 CUSTOM INTEGRATED CIRCUITS CONFERENCE, SANTA CLARA, CA, USA, 11-14 MAY 1998, 1998, New York, NY, USA, IEEE, USA, pages 193 - 196, XP002138550, ISBN: 0-7803-4292-5 *
HUIJUAN CUI ET AL: "Audio as a support to low bit rate multimedia communication", ICCT'98. 1998 INTERNATIONAL CONFERENCE ON COMMUNICATION TECHNOLOGY. PROCEEDINGS (IEEE CAT. NO.98EX243), ICCT'98. 1998 INTERNATIONAL CONFERENCE ON COMMUNICATION TECHNOLOGY. PROCEEDINGS, BEIJING, CHINA, 22-24 OCT. 1998, 1998, Beijing, China, Publising House of Constr. Mater, China, pages 544 - 547 vol.1, XP002146040, ISBN: 7-80090-827-5 *
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 09 30 July 1999 (1999-07-30) *
SANG-MIN LEE ET AL: "Cost-effective implementation of ITU-T G.723.1 on a DSP chip", ISCE '97. PROCEEDINGS OF 1997 IEEE INTERNATIONAL SYMPOSIUM ON CONSUMER ELECTRONICS (CAT. NO.97TH8348), ISCE '97. PROCEEDINGS OF 1997 IEEE INTERNATIONAL SYMPOSIUM ON CONSUMER ELECTRONICS, SINGAPORE, 2-4 DEC. 1997, 1997, New York, NY, USA, IEEE, USA, pages 31 - 34, XP002138549, ISBN: 0-7803-4371-9 *

Also Published As

Publication number Publication date
DE69926019D1 (en) 2005-08-04
US6738733B1 (en) 2004-05-18
EP1221162A1 (en) 2002-07-10
EP1221162B1 (en) 2005-06-29

Similar Documents

Publication Publication Date Title
USRE49363E1 (en) Variable bit rate LPC filter quantizing and inverse quantizing device and method
US5495555A (en) High quality low bit rate celp-based speech codec
EP1222659B1 (en) Lpc-harmonic vocoder with superframe structure
US6148283A (en) Method and apparatus using multi-path multi-stage vector quantizer
JP3996213B2 (en) Input sample sequence processing method
US5727122A (en) Code excitation linear predictive (CELP) encoder and decoder and code excitation linear predictive coding method
WO1994023426A1 (en) Vector quantizer method and apparatus
KR20010024935A (en) Speech coding
EP1595248B1 (en) System and method for enhancing bit error tolerance over a bandwith limited channel
EP1162604B1 (en) High quality speech coder at low bit rates
EP1677287B1 (en) A system and method for supporting dual speech codecs
US20030225576A1 (en) Modification of fixed codebook search in G.729 Annex E audio coding
JPH11259100A (en) Method for encoding exciting vector
US20010010038A1 (en) High-speed search method for LSP quantizer using split VQ and fixed codebook of G.729 speech encoder
KR100198476B1 (en) Quantizer and the method of spectrum without noise
EP1221162A1 (en) G.723.1 audio encoder
Cuperman et al. Backward adaptive configurations for low-delay vector excitation coding
EP1355298B1 (en) Code Excitation linear prediction encoder and decoder
Xydeas et al. A long history quantization approach to scalar and vector quantization of LSP coefficients
CA2137880A1 (en) Speech coding apparatus
JP3065638B2 (en) Audio coding method
Kleijn et al. Efficient channel coding for CELP using source information
Johnson et al. Low-complexity multi-mode VXC using multi-stage optimization and mode selection (speech coding)
KR100354747B1 (en) A Method for Generating a Fixed Codebook Gain Table in a Multipulse Maximum Pseudo Quantizer
Popescu et al. A DIFFERENTIAL, ENCODING, METHOD FOR THE ITP DELAY IN CELP

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1999948015

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999948015

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10089758

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 1999948015

Country of ref document: EP