WO2000025302A1 - Codeur vocal plec - Google Patents

Codeur vocal plec Download PDF

Info

Publication number
WO2000025302A1
WO2000025302A1 PCT/JP1999/005885 JP9905885W WO0025302A1 WO 2000025302 A1 WO2000025302 A1 WO 2000025302A1 JP 9905885 W JP9905885 W JP 9905885W WO 0025302 A1 WO0025302 A1 WO 0025302A1
Authority
WO
WIPO (PCT)
Prior art keywords
pitch
vector
codebook
output
encoding
Prior art date
Application number
PCT/JP1999/005885
Other languages
English (en)
French (fr)
Inventor
Hiroyuki Ehara
Original Assignee
Matsushita Electric Industrial Co., 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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to AT99949404T priority Critical patent/ATE456127T1/de
Priority to EP99949404A priority patent/EP1041541B1/en
Priority to DE69941947T priority patent/DE69941947D1/de
Priority to US09/582,039 priority patent/US6804639B1/en
Priority to AU62301/99A priority patent/AU6230199A/en
Publication of WO2000025302A1 publication Critical patent/WO2000025302A1/ja

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

Definitions

  • the present invention relates to a CELP (Code Excited Linear Prediction) type speech coding apparatus for encoding and transmitting a speech signal in a mobile communication system or the like.
  • CELP Code Excited Linear Prediction
  • CELP Code Excited Linear Prediction
  • the CEL P-type speech coding method divides speech into a certain frame length (about 5 ms to 50 ms), performs linear prediction of speech for each frame, and predicts the residual (excitation signal) by linear prediction for each frame. Is encoded using an adaptive code vector composed of known waveforms and a noise code vector.
  • the adaptive code vector is selected and used from an adaptive codebook that stores the driving excitation vector generated in the past, and the noise code vector has a predetermined number of predetermined shapes prepared in advance. It is selected and used from the random codebook that stores the vector it has.
  • the random code vector stored in the random codebook contains a random noise system.
  • Vectors generated by arranging vectors in a row or several pulses at different positions are used.
  • CS-ACELP conjuggate structure and algebraic CELP
  • CS-ACE LP technology Recommendation G.729: Coding of Speech at 8 kbit / s using Con jugate -Structure Algebraic -Code -Excited Linear-Prediction (CS-ACELP)], March 1996 [ This is shown.
  • the noise code vector generated from the CS—ACELP algebraic codebook is a vector (four pulses) with four impulses of amplitude ⁇ 1 or +1 during a 40-sample (5 ms) subframe. All of them are basically zero except at the position where the is set). Since the absolute value of the amplitude is fixed at 1, only the position and polarity (positive / negative) of each pulse need be expressed to represent the sound source vector. For this reason, it is not necessary to store in the codebook as a 40-dimensional (subframe length) vector, and no codebook storage memory is required.
  • CS-ACELP adaptive code vector information is efficiently encoded by expressing the pitch of the second subframe by the difference quantization using the pitch of the first subframe.
  • the pitch candidate is narrowed down to one by the open loop pitch search in the frame unit, and the closed loop pitch search in the subframe unit is performed near this pitch candidate. The amount of calculation required for the search is also reduced.
  • FIG. Fig. 1 shows the basic configuration of a conventional CS-ACELP speech coder.
  • the input buffer 1 updates the input digital speech signal one frame at a time and buffers it by the required length. Ring and saffle
  • the data required for the frame divider 2, LPC analyzer 3, and weighted synthesis filter 4 are output.
  • the subframe divider 2 divides the input digital signal for one frame input from the input buffer 1 into two subframes, outputs the signal of the first subframe to the first target calculator 5, and The sub-frame signal is output to the second evening get calculator 6.
  • the LPC analyzer 3 inputs a digital audio signal necessary for the analysis from the input buffer 1, performs LPC analysis, and outputs a linear prediction coefficient to the LPC quantizer 7 and the second LPC interpolator 8.
  • the weighted synthesis filter 4 receives the digital audio signal for one frame input from the input buffer 1 and the linear prediction coefficients a 1 and a 2 output from the second LPC interpolator 8 as input signals. , And output to the open loop pitch searcher 9.
  • the LPC quantizer 7 quantizes the linear prediction coefficients output from the LPC analyzer 3 and outputs the quantized LPC to the first LPC interpolator 10 and simultaneously decodes the encoded LPC encoded data L Output to
  • the second LPC interpolator 8 receives the LPC output from the LPC analyzer 3 as an input, interpolates the LPC of the first subframe, and converts the unquantized LPCs of the first and second subframes to a1 and a1, respectively. Output as 2.
  • the first LPC interpolator 10 receives the quantized LPC output from the LPC quantizer 7 as an input, interpolates the quantized LPC of the first subframe, and performs the quantized LPC of the first and second subframes. Are output as Q a 1 and Q a 2, respectively.
  • the first target calculator 5 is a digital audio signal of the first sub-frame divided by the sub-frame divider 2, and a filter output from the second filter state updater 11 in the immediately preceding second sub-frame.
  • the state st 1, and the quantized and unquantized LPCs Q a 1 and a 1, which are the LPCs, are input, the target vector is calculated, the first closed loop pitch searcher 12, the first target updater 13, the first gain codebook searcher 14, and the first filter state updater 15.
  • the second evening get vector updater 6 The digital audio signal of the second subframe output from the subframe divider 2, the filter status st2 output from the first filter status updater 15 in the first subframe of the current frame, and the second subframe Frame quantization and unquantization LPCs qa 2 and a 2 are used as inputs to calculate the target vector, to obtain a second closed-loop pitch searcher 16, a second target updater 17, and a second gain Output to codebook searcher 18 and second filter state updater 11.
  • the open-loop pitch searcher 9 receives the weighted input speech signal output from the weighted synthesis filter 4 as an input, extracts pitch periodicity, and outputs the open-loop pitch period to the first closed-loop pitch searcher 12. .
  • the first closed-loop pitch searcher 12 calculates the first target vector, the open-loop pitch, the adaptive code vector candidate, and the impulse response vector, respectively, into a first evening get calculator 5, an open-loop pitch search.
  • the adaptive codebook 19, and the first impulse response calculator 20 to perform a closed-loop pitch search near the open-loop pitch to obtain a closed-loop pitch P1 and a second closed-loop pitch searcher 16 and Output to the first pitch period filter 21 and the decoder, output the adaptive code vector to the first excitation generator 22 and obtain the convolution of the adaptive code vector with the first impulse response.
  • the obtained combined vector is output to a first evening get updater 13, a first gain codebook searcher 14, and a first filter state updater 15.
  • the first target updater 13 receives the first target vector and the first adaptive code synthesis vector from the first evening get calculator 5 and the first closed-loop pitch miner 12, respectively. Then, an evening get vector for the random codebook is calculated and output to the first random codebook searcher 23.
  • the first gain codebook searcher 14 converts the first target vector, the first adaptive code synthesized vector, and the first noise code synthesized vector into a first target calculator 5 and a first closed loop, respectively. Input from the pitch pitch searcher 12 and the first noise codebook searcher 23 to select the optimum quantization gain from the gain codebook 29 to obtain the first sound source It outputs to the generator 22 and the first filter state updater 15.
  • the first fill state updater 15 converts the first target vector, the first adaptive code composite vector, the first noise code composite vector, and the first quantized gain into a first target vector, respectively.
  • Calculator 5 first closed-loop pitch searcher 12, first noise codebook searcher 23, and first gain codebook searcher 14 to update the state of the synthesis filter and filter Outputs the evening state st2.
  • the first impulse response calculator 20 receives the unquantized LPC a1 of the first subframe and the quantized LPC qa1 of the first subframe as inputs, and performs an auditory weighting filter and a synthesis filter. It calculates the impulse response of the filter connected in cascade with the evening and outputs it to the first closed-loop pitch searcher 12 and the first pitch periodic filter 21.
  • the first pitch period filter 21 receives the first closed-loop pitch and the first impulse response vector from the first closed-loop pitch searcher 12 and the first impulse response calculator 20, respectively.
  • the first impulse response vector is pitch-periodized and output to the first random codebook searcher 23.
  • the first noise codebook searcher 23 outputs the updated first target vector output from the first evening target updater 13 and the first pitch periodical filter 21
  • the first impulse response vector after the period and the noise code vector candidate output from the noise codebook 24 are input, and the optimum noise code vector is selected from the noise codebook 24 and selected.
  • a vector obtained by periodicizing the randomized noise code vector is output to the first sound source generator 22, and a synthesized vector obtained by convolving the periodicized first impulse response vector with the selected random noise vector is obtained. It outputs to the first gain codebook searcher 14 and the first filter state updater 15 and outputs the code S1 representing the selected noise code vector to the decoder.
  • the random codebook 24 stores a predetermined number of random code vectors having a predetermined shape, and outputs the random code vector to the first random codebook search unit 23 and the second random codebook search unit 25. Output.
  • the first sound source generator 22 converts the adaptive code vector, the noise code vector, and the quantization gain into a first closed-loop pitch searcher 12, a first random codebook searcher 23, and a first gain. Input from codebook searcher 14, an excitation vector is generated, and the generated excitation vector is output to adaptive codebook 19.
  • Adaptive codebook 19 receives the excitation vectors output alternately from first excitation generator 22 and second excitation generator 26 as input, updates the adaptive codebook, and extracts the adaptive code vector candidates as The output is alternately output to the closed loop pitch searcher 1 and the second closed loop pitch searcher 16.
  • the gain codebook 29 stores quantization gains (adaptive code vector components and noise code vector components) prepared in advance, and stores a first gain codebook searcher 14 and a second gain codebook searcher. 1 Output to 8.
  • the second closed-loop pitch searcher 16 calculates the second target vector, the pitch of the first subframe, the adaptive code vector candidate, and the impulse response vector by the second target calculator 6 and the first closed-loop pitch search, respectively.
  • the adaptive code vector is output to the second excitation generator 26, and the combined vector obtained by convolving the adaptive code vector with the second impulse response is output to the second It outputs to the second evening get updater 17, the second gain codebook searcher 18, and the second fill evening state updater 11.
  • the second evening get updater 17 converts the second evening get vector and the second adaptive code combining vector into a second evening get calculator 6 and a second closed loop pitch searcher 16 respectively. , And calculates the evening vector for the random codebook, and outputs it to the second random codebook searcher 25.
  • the second gain codebook searcher 18 converts the second target vector, the second adaptive code synthesis vector, and the second noise code synthesis vector into a second evening get calculator 6 and a second Input from closed loop pitch searcher 16 and second random codebook searcher 25 Then, the optimum quantization gain is selected from the gain codebook 29 and output to the second sound source generator 26 and the second filter state updater 11.
  • the second filter state updater 11 calculates the second target vector, the second adaptive code composite vector, the second noise code composite vector, and the second quantized gain respectively as a second target vector. 6, the second closed-loop pitch searcher 16, the second noise codebook searcher 25, and the second gain codebook searcher 18 to update the state of the synthesized filter Outputs evening state st1.
  • the second impulse response calculator 27 receives the unquantized LPC a2 of the second subframe and the qa2 quantized LPC of the second subframe as inputs, and inputs a perceptual weighting filter and a synthesis filter. Are calculated and output to the second closed-loop pitch searcher 16 and the second pitch-period filter 28.
  • the second pitch periodic filter 28 receives the second closed-loop pitch and the second impulse response vector from the second closed-loop pitch searcher 16 and the second impulse response calculator 27, respectively. Then, the second impulse response vector is pitch-periodized and output to second noise codebook searcher 25.
  • the second noise codebook searcher 25 is output from the second target vector after update output from the second evening get updater 17 and the second pitch periodical filter 28.
  • the second impulse response vector after the periodization and the random code vector candidate output from the random codebook 24 are input, and the optimum random code vector is selected from the random codebook 24 and selected.
  • the vector obtained by periodicizing the selected noise code vector is output to the second sound source generator 26, and the combined noise obtained by convolving the periodicized second impulse response vector with the selected noise code vector is obtained.
  • the vector is output to the second gain codebook searcher 18 and the second filter state updater 11, and the code S 2 representing the selected noise code vector is output to the decoder.
  • the second sound source generator 26 includes an adaptive code vector, a noise code vector, And the quantization gain from the second closed-loop pitch searcher 16, the second noise codebook searcher 25, and the second gain codebook searcher 18, respectively, to generate a sound source vector, and generate the generated sound source. Output the vector to adaptive codebook 19.
  • Vector data S 1, gain data G 1 output from the first gain codebook searcher 14, pitch P 2 output from the second closed-loop pitch searcher 16, and second noise codebook searcher 25 The output noise code vector data S 2 and the gain data G 2 output from the second gain codebook searcher 18 are coded and output to a decoder as a bit string via a transmission path. Further, the processing of the second sub-frame is performed after all the processing of the first sub-frame is completed, and the pitch of the second sub-frame is differentially quantized using the pitch of the first sub-frame.
  • an audio signal is input to an input buffer 1.
  • the input buffer 1 updates the input digital audio signal to be encoded in units of one frame (10 ms), and updates the digital audio signal necessary for the subframe divider 2, the LPC analyzer 3, and the weighting synthesis filter 4. Supply buffering overnight.
  • the LPC analyzer 3 performs a linear prediction analysis using the data supplied from the input buffer 1 and calculates a linear prediction coefficient (LPC).
  • LPC quantizer 7 and the second LPC interpolator 8 Output to The LPC quantizer 7 converts the LPC into an LSP area, quantizes the LPC, quantizes it, and outputs the SP to the first LPC interpolator 10.
  • the first LPC interpolator 10 uses the input quantized LSP as the quantized LSP of the second subframe, and uses the quantized LSP of the second subframe of the immediately preceding frame as the quantized LSP of the first subframe. And is interpolated by linear interpolation.
  • the obtained quantized LSPs of the first and second subframes are converted into LPCs, and then output as qa1 and Qa2 as quantized LPCs, respectively.
  • the LSP of the first subframe is interpolated as in the first LPC interpolator 10, and the first and second LPCs are interpolated.
  • the LSP of the subframe is determined, it is converted to LPC, and then output as unquantized LPC as a1 and a2, respectively.
  • the weighted synthesis filter 4 the digitized data sequence to be quantized is input from the input buffer 1 for one frame (10 ms), and the weighted synthesis filter 4 configured using the unquantized LPCs ai and a2 is used. By performing the filtering, a weighted input speech signal is calculated and output to the open-loop pitch searcher 9.
  • the open-loop pitch searcher 9 buffers the weighted input audio signal generated in the past, and obtains a normalized autocorrelation function from the data sequence obtained by adding the newly generated weighted input audio signal to the buffer. Then, the period of the weighted input audio signal is extracted based on. The extracted cycle is output to the first closed loop pitch searcher 12.
  • a digitized signal sequence for one frame to be encoded is input from the input buffer and divided into two subframes.
  • the sub-frame) is supplied to the first target calculator 5 and the second sub-frame (sub-frame in time later) is supplied to the second target calculator 6.
  • a quantized synthesis filter and a weighted synthesis filter are configured using qa1, which is the quantized LPC of the first subframe, and a1, which is the unquantized LPC.
  • the first impulse response calculator 20 cascades a quantized synthesis filter configured using qa 1 that is a quantized LPC and a weighted synthesis filter configured using a 1 that is an unquantized LPC.
  • the impulse response of the filtered filter is obtained and output to the first closed-loop pitch searcher 12 and the first pitch period filter 21.
  • the first closed-loop pitch searcher 12 calculates a weighted synthesized speech vector (adaptive codebook component) by convolving the first impulse response with the adaptive code vector extracted from the adaptive codebook 19. Then, the pitch for generating an adaptive code vector that minimizes the error between this value and the first evening get vector is extracted.
  • the pitch search performed at this time is performed only in the vicinity of the open loop pitch input from the open loop pitch searcher 9.
  • the adaptive code vector generated based on the obtained pitch is output to the first excitation generator 22 and used for generating the excitation vector, and is generated by convolving the adaptive code vector with the impulse response.
  • the first adaptive code synthesis vector is output to first target updater 13, first gain codebook searcher 14, and first filter state updater 15.
  • the first target updater 13 the first adaptive code output from the first closed loop pitch searcher 12 is obtained from the first evening get vector output from the first evening get calculator 5.
  • the first vector for noise codebook search is calculated by subtracting the value obtained by multiplying the combined vector by the optimum gain, and the calculation result is output to the first noise codebook search unit 23.
  • the first random codebook searcher 23 generates the first impulse response after pitch periodicization input from the first pitch periodicization filter 21 into the noise code vector extracted from the random codebook 24. By convolving, the weighted synthesized speech vector (noise codebook component) is calculated, and the noise code vector that minimizes the error from the first noise codebook target vector is selected. The selected noise code vector is periodicized by the pitch periodic filter and output to the first sound source generator 22. This is used to generate the sound source vector. Further, the first noise code synthesis vector generated by convolving the impulse response after pitch periodization with the noise code vector is composed of a first gain codebook searcher 14 and a first filter state updater. Output to 1-5.
  • the pitch period T used for this filter is P 1 input from the first closed loop pitch searcher 12 It is.
  • the first gain codebook searcher 14 receives the first target vector from the first target calculator 5, the first closed loop pitch searcher 12, and the first noise codebook searcher 23.
  • the first adaptive code synthesis vector, and the first noise code synthesis vector, respectively, and the first target vector and the first adaptive code synthesis vector were multiplied by a quantized adaptive code gain.
  • Combination of quantization adaptive code gain and quantization noise code gain that minimizes the square error of the sum of the product and the first noise code synthesis vector multiplied by the quantization noise code gain From the gain codebook 29.
  • the selected quantization gain is output to the first sound source generator 22 and the first filter state updater 15 and used for generating the sound source vector and updating the state of the synthesis filter.
  • the first sound source generator 22 includes an adaptive code vector input from the first closed-loop pitch searcher 12 and a noise code after pitch periodization input from the first noise codebook searcher 23.
  • the vector is multiplied by the quantization gain (adaptive codebook component) and the quantization gain (noise codebook component) input from the first gain codebook searcher 14, respectively, and then the adaptation after the quantization gain multiplication is performed.
  • the excitation vector of the first subframe is generated by adding the code vector and the noise code vector. You.
  • the generated excitation vector of the first subframe is output to the adaptive codebook, and the adaptive codebook is updated.
  • the first filter state updater 15 updates the state of the filter in which the quantized synthesis filter and the weighted synthesis filter are cascaded.
  • the state of the filter is based on a target vector input from the first target calculator 5, an adaptive code synthesis vector multiplied by a quantization gain (adaptive codebook component) and a quantization gain (noise codebook component). It is obtained by subtracting the noise code synthesis vector multiplied by.
  • the obtained filter state is output as st 2, used as the filter state of the second subframe, and used by the second target calculator 6.
  • the second evening get calculator 6 configures a quantized synthesis filter and a weighted synthesis filter using Qa2, which is the quantized LPC of the second subframe, and a2, which is the unquantized LPC, Calculates the weighted input speech signal (target vector) after removing the zero input response of the quantized synthetic filter using the filter state st2 obtained by the first filter state updater 15 in the first subframe
  • the second closed-loop pitch searcher 16, the second target vector updater 17, the second gain codebook searcher 25, and the second fill-state updater 11 receive a second sunset. Outputs a vector.
  • the second impulse response calculator 27 uses a quantized synthesis filter configured using Qa2, which is a quantized LPC, and a weighted synthesis filter configured using a2, which is an unquantized LPC.
  • the impulse response of the cascade-connected filters is obtained and output to the second closed-loop pitch searcher 16 and the second pitch periodic filter 28.
  • the second closed-loop pitch searcher 16 convolves the weighted synthesized speech vector (adaptive codebook component) by convolving the second impulse response with the adaptive code vector extracted from the adaptive codebook 19. Calculate and extract the pitch for generating the adaptive code vector that minimizes the error with the second target vector.
  • the pitch search performed at this time is performed by the first closed loop pitch searcher 12.
  • the adaptive code vector generated based on the obtained pitch is output to the second excitation generator 26 and used for generating the excitation vector, and is generated by convolving the adaptive code vector with the impulse response.
  • the second adaptive code synthesis vector is output to second target updater 17, second gain codebook searcher 18, and second filter state updater 11.
  • the second target updater 17 receives the second adaptive code output from the second closed-loop pitch searcher 16 from the second evening get vector output from the second evening get calculator 6.
  • a second vector for noise codebook search is calculated by subtracting the product of the synthesis vector and the optimum gain, and is output to the second noise codebook searcher 25.
  • the second random codebook searcher 25 adds the second impulse after the pitch period input from the second pitch period filter 28 to the noise code vector extracted from the random codebook 24. By convolving the response, a weighted synthesized speech vector (noise codebook component) is calculated, and a noise code vector that minimizes an error from the second noise codebook target vector is selected.
  • the selected noise code vector is periodicized by the second pitch periodicization filter, output to the second excitation generator 26, and used for generating an excitation vector.
  • a second noise code synthesis vector generated by convolving the impulse response after the pitch period with the noise code vector is generated by a second gain codebook searcher 18 and a second filter state updater 1 Output to 1.
  • the pitch period T used for this fill is P 2 input from the second open loop pitch searcher 16.
  • the second gain codebook searcher 18 includes a second target calculator 6, a second closed-loop pitch searcher 16, and a second noise code W / JP
  • the second target vector, the second adaptive code synthesis vector, and the second noise code synthesis vector are input to the second target vector and the second target vector, respectively.
  • the square error between the vector obtained by multiplying the adaptive code synthesis vector of (2) by the quantization adaptive code gain and the vector obtained by multiplying the second noise code synthesis vector by the quantization noise code gain is minimized.
  • a combination of the quantization adaptive code gain and the quantization noise code gain is selected from the gain codebook 29.
  • the selected quantization gain is output to the second sound source generator 26 and the second filter state updater 11, and is used for generating a sound source vector and updating the state of the synthetic filter.
  • the second sound source generator 26 includes an adaptive code vector input from the second closed-loop pitch searcher 16 and a noise code after pitch periodization input from the second noise codebook searcher 25. Multiplied by the quantization gain (adaptive codebook component) and the quantization gain (noise codebook component) input from the second gain codebook searcher 18 to obtain the adaptive code after the quantization gain multiplication.
  • the excitation vector of the second subframe is generated by adding the vector and the noise code vector.
  • the generated excitation vector of the second subframe is output to adaptive codebook 19 to update the adaptive codebook.
  • the second filter state updater 11 updates the state of the filter in which the quantized composite filter and the weighted composite filter are cascaded.
  • the state of the filter is determined by calculating an adaptive code synthesis vector obtained by multiplying the target vector input from the second evening get calculator 6 by a quantization gain (adaptive codebook component) and a quantization gain (noise codebook component). ) Can be obtained by subtracting the noise code synthesis vector multiplied by.
  • the obtained filter state is output as st 1, used as the filter state of the first sub-frame of the next frame, and used by the first evening get calculator 5.
  • the adaptive codebook 19 is obtained by temporally arranging and buffering the excitation signals generated by the first excitation generator 22 and the second excitation generator 26, and is used for searching for a closed-loop pitch search.
  • the sound source signals generated in the past for the required length are stored.
  • the adaptive codebook is updated once for each subframe. After shifting the adaptive codebook buffer by one subframe, the newly generated excitation signal is copied to the end of the buffer.
  • the encoding process of the first subframe is performed first, and after the encoding process of the first subframe is completed, the second Subframe encoding is performed, and the pitch P2 output in the second subframe is differentially quantized using the pitch P1 output in the first subframe and transmitted to the decoder side .
  • An object of the present invention is to provide a speech coding apparatus for performing differential quantization of pitch information between subframes, and to perform pitch search (appropriateness) without adversely affecting pitch differential quantization. (Codebook search).
  • a subject of the present invention is to output a plurality of pitch candidates when there are a plurality of valid pitch candidates during a frame pitch search. That is, the present invention provides a CELP-type speech coding apparatus in which, among subframes obtained by dividing a unit frame, the pitch of the adaptive codebook is the pitch of the adaptive codebook in the subframe that is not differentially quantized.
  • a CELP-type speech coding apparatus including pitch candidate selection means for performing preliminary selection and adaptively selecting at least one pitch candidate.
  • FIG. 1 is a block diagram showing the configuration of a conventional speech coding apparatus
  • FIG. 2 is a flowchart showing the processing of the conventional pitch candidate selector
  • FIG. 3 is a block diagram showing a configuration of a speech coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 4 is a block diagram showing a configuration of a pitch candidate selector in the above embodiment
  • FIG. 5 is a flowchart showing the processing of the pitch candidate selector in the above embodiment
  • FIG. 6 is a block diagram illustrating a configuration of a speech decoding device according to the above embodiment
  • FIG. 7 is a block diagram illustrating a configuration of a speech encoding device according to Embodiment 2 of the present invention
  • FIG. 8 is a block diagram showing the configuration of the pitch candidate selector in the above embodiment.
  • FIG. 9 is a flowchart showing a process of the pitch candidate selector in the above embodiment.
  • FIG. 10 is a block diagram showing a configuration of a speech decoding apparatus according to the above embodiment
  • FIG. 11 is a block diagram illustrating a configuration of a transmission device and a reception device including the speech encoding device of the present invention.
  • FIG. 3 is a block diagram showing a configuration of the speech coding apparatus according to Embodiment 1 of the present invention.
  • an input buffer 101 buffers the data of a length necessary for encoding while updating the input digital audio signal by one frame
  • a subframe divider 102 and an LPC analyzer 1 Outputs the data required for 03 and the weighted composite filter 104.
  • the subframe divider 102 divides the input digital signal for one frame input from the input buffer into two subframes, and outputs the signal of the first subframe to the first sunset calculator 105 Then, the signal of the second subframe is output to the second target calculator 106.
  • the LPC analyzer 103 inputs the digital voice signal required for analysis from the input buffer 101, performs LPC analysis, and converts the linear prediction coefficients to the LPC quantizer 107 and the second LPC interpolator. Output to 108.
  • the weighting synthesis filter 104 receives the digital audio signal for one frame input from the input buffer 101 and the linear prediction coefficients a 1 and a 2 output from the second LPC interpolator 108. Then, the input speech signal is subjected to auditory weighting and output to the pitch candidate selector 109.
  • the LPC quantizer 107 quantizes the linear prediction coefficient output from the LPC analyzer 103, outputs the quantized LPC to the first LPC interpolator 110, and simultaneously encodes the quantized LPC. Outputs data L to the decoder.
  • the second LPC interpolator 108 interpolates the LPC of the first subframe with the LPC output from the LPC analyzer 103 as an input, and performs the first and second subframes.
  • the LPC of the frame is output as a 1 and a 2 respectively.
  • the first LPC interpolator 110 inputs the quantized LPC output from the LPC quantizer 107, performs interpolation of the quantized LPC of the first subframe, and generates the first and second subframes. Output the quantized LPC as qa 1 and qa 2 respectively.
  • the first target calculator 105 is a digital audio signal of the first subframe divided by the subframe divider 102, and the second filter state updater 111 in the immediately preceding second subframe.
  • the second target calculator 106 is a digital audio signal of the second subframe output from the subframe divider 102, a first filter state updater 1 in the first subframe of the current frame. 15 Enter the fill state st2 output from 5 and the quantized and unquantized LPCs qa2 and a2 of the second subframe, calculate the evening vector, and perform the second closed loop. It outputs to the pitch searcher 116, the second evening get updater 117, the second gain codebook searcher 118, and the second fill state updater 111.
  • the pitch candidate selector 109 receives the weighted input audio signal output from the weighted synthesis filter 104, extracts pitch periodicity, and finds a pitch periodic candidate as a first closed-loop pitch searcher 111. Output to 2.
  • the first closed-loop pitch searcher 112 is configured to calculate a first target vector, a pitch candidate, an adaptive code vector candidate, and an impulse response vector, respectively, into a first evening get vector calculator 105, a pitch.
  • the first target updater 1 1 3 and the first gain codebook searcher 1 1 are output to the first sound source generator 1 2 2, and the combined vector obtained by convolving the adaptive code vector with the first impulse response is output. 4, and output to the first filter state updater 115.
  • the first target updater 113 converts the first target vector and the first adaptive code synthesis vector from the first evening get calculator 105 and the first closed loop pitch searcher 112, respectively.
  • the first gain codebook searcher 1 14 converts the first target vector, the first adaptive code synthesis vector, and the first noise code synthesis vector into a first evening calculator 1 0, respectively. 5, input from the first closed-loop pitch searcher 1 1 2 and the first noise codebook searcher 1 2 3 respectively, and select the optimal quantization gain from the gain codebook 1 2 9 Output to the first sound source generator 122 and the first fill state updater 115.
  • the first fill state updater 1 15 stores the first evening get vector, the first adaptive code combined vector, the first noise code combined vector, and the first quantized gain respectively.
  • 1 evening get vector calculator 105, first closed loop pitch searcher 112, first noise codebook searcher 123, and first gain codebook searcher 114 Input each, update the state of the composite filter, and output the filter state st2.
  • the first impulse response calculator 120 inputs a1 which is the LPC of the first subframe and qa1 which is the quantized LPC of the first subframe, and calculates the auditory weighting filter and the composite filter.
  • the impulse response of the cascaded filters is calculated and output to the first closed-loop pitch searcher 112 and the first pitch periodic filter 122.
  • the first pitch period fill filter 1 2 1 calculates the first closed-loop pitch and the first impulse response vector from the first closed-loop pitch searcher 1 1 2 and the first impulse response calculator 1 2 0, respectively.
  • the first impulse response vector is pitch-periodized and output to the first random codebook searcher 123.
  • First The random codebook searcher 1 2 3 generates the updated first target vector output from the first target updater 1 13, the period output from the first pitch periodical filter 1 2 1
  • the first impulse response vector after the conversion and the random code vector candidate output from the random codebook 124 are input, and the optimal random code vector is selected from the random codebook 124 and selected.
  • the vector obtained by periodicizing the noise code vector is output to the first sound source generator 122, and the synthesized vector obtained by convolving the periodicized first impulse response vector with the selected noise code vector is output to the first noise generator. It outputs to the gain codebook searcher 111 of 1 and the first filter state updater 115, and outputs the code S1 representing the selected noise code vector to the decoder.
  • the noise codebook 124 stores a predetermined number of noise code vectors having a predetermined shape, and a first noise codebook searcher 123 and a second noise codebook search.
  • the noise code vector is output to the detector 1 25.
  • the first sound source generator 1 2 2 converts the adaptive code vector, the noise code vector, and the quantization gain into a first closed-loop pitch searcher 1 12, a first noise codebook searcher 1 2 3, and a Input from the gain codebook searcher 1 1 4 of 1 to generate the excitation vector, and output the generated excitation vector to the adaptive codebook 1 19.
  • the adaptive codebook 1 19 receives the excitation vectors alternately output from the first excitation generator 1 2 2 and the second excitation generator 1 2 6, updates the adaptive codebook, and updates the adaptive code vector.
  • the candidates are alternately output to a first closed loop pitch searcher 112 and a second closed loop pitch searcher 116.
  • the gain codebook 12 9 stores quantization gains (adaptive code vector components and noise code vector components) prepared in advance, and stores the first gain codebook searcher 114 and the second gain codebook search. Output to 1 1 8
  • the second closed-loop pitch searcher 116 calculates the second target vector, the pitch of the first subframe, the adaptive code vector candidate, and the impulse response vector as second target calculators 106, From the closed loop pitch searcher 1 1 2, the adaptive codebook 1 1 9, and the second impulse response calculator 1 2 7 Each of these inputs, a closed loop pitch search is performed near the pitch of the first subframe, the closed loop pitch is output to the second pitch period filter 128 and the decoder, and the adaptive code vector is output.
  • the second vector is output to the second sound source generator 126, and the synthesized vector obtained by convolving the adaptive code vector with the second impulse response is output to the second evening updater 117, second gain codebook search Output to the filter unit 118 and the second filter state update unit 111.
  • the second target updater 117 receives the second target vector and the second adaptive code synthesis vector from the second target calculator 106 and the second closed loop pitch searcher 116, respectively. Then, an evening vector for the random codebook is calculated and output to the second random codebook searcher 125.
  • the second gain codebook search unit 118 converts the second target vector, the second adaptive code synthesis vector, and the second noise code synthesis vector into a second target calculator 106, respectively.
  • the second closed-loop pitch searcher 1 16, and the second noise codebook searcher 125 respectively, to select the optimal quantization gain from the gain codebook 1 29,
  • the second sound source generator 126 and the second fill state updater 111 are output.
  • the second fill state updater 1 1 1 outputs a second target vector, a second adaptive code composite vector, a second noise code composite vector, and a second quantization gain to a second target vector, respectively.
  • the second impulse response calculator 1 27 receives the aural weighting filter and the synthesized filter by using a2, which is the LPC of the second subframe, and qa2, which is the quantized LPC of the second subframe, as inputs.
  • the impulse response of the cascade-connected filters is calculated and output to the second closed-loop pitch searcher 116 and the second pitch periodic filter 128.
  • the second pitch-periodic filter 1 28 has a second closed-loop pitch and a second
  • the impulse response vectors are input from the second closed-loop pitch searcher 116 and the second impulse response calculator 127, respectively, and the second impulse response vector is pitch-periodized to form the second noise codebook.
  • Output to searcher 1 2 5 The second random codebook searcher 1 2 5 outputs the updated second target vector output from the second target updater 1 17, and the second pitch period filter 1 2 8
  • the optimal noise code vector is selected from the noise codebook 124.
  • the selected noise code vector is output to the second sound source generator 126, and the periodicized vector is output to the second noise source generator 126, and the selected noise code vector is convolved with the periodicized second impulse response vector.
  • the vector is output to the second gain codebook searcher 118 and the second filter state updater 111, and the code S2 representing the selected noise code vector is output to the decoder.
  • the second sound source generator 1 26 converts the adaptive code vector, the noise code vector, and the quantization gain into a second closed loop pitch searcher 1 16, a second noise code book searcher 1 25, and Input from second gain codebook searcher 118, an excitation vector is generated, and the generated excitation vector is output to adaptive codebook 119.
  • the LPC data L output from the LPC quantizer 107, the pitch P1 output from the first closed-loop pitch searcher 112, and the output from the first random codebook searcher 123 are output.
  • the noise code vector searcher S2 output from the random codebook searcher 1 25 and the gain data G2 output from the second gain codebook searcher 1 18 are coded and bit-sequenced. Is output to the decoder via the transmission path.
  • the processing of the second sub-frame is performed after all the processing of the first sub-frame is completed, and the pitch P 2 of the second sub-frame is differentially quantized using the pitch P 1 of the first sub-frame. .
  • the audio signal is input to the input buffer 101.
  • the input buffer 101 updates the input digital audio signal to be coded in units of one frame (10 ms), and sends it to the subframe divider 102, LPC analyzer 103, and weighted synthesis filter 104. Supply the necessary buffering data overnight.
  • the analyzer 103 performs a linear prediction analysis using the data supplied from the input buffer 101, calculates a linear prediction coefficient (LPC), and generates an LPC quantizer 107 and a second LPC interpolator.
  • the LPC quantizer 107 converts the LPC into an LSP area, quantizes the LPC, quantizes the result, and outputs the SP to the first LPC interpolator 110.
  • the first LPC interpolator Uses the input quantized LSP as the quantized LSP of the second subframe and interpolates the quantized LSP of the first subframe by linear interpolation using the quantized LSP of the second subframe of the immediately preceding frame .
  • the obtained quantized LSPs of the first and second subframes are converted into LPCs, and then output as qa1 and Qa2 as quantized LPCs, respectively.
  • the second LPC interpolator 108 after the input unquantized LPC is converted into LSP, the LSP of the first subframe is interpolated as in the first LPC interpolator 110, and the first and second LPC interpolators 108 After the LSP of the second subframe is determined, it is converted to LPC and output as unquantized LPC as a1 and a2, respectively.
  • the weighting synthesis filter 104 inputs the digital data sequence to be quantized for one frame (10 ms) from the input buffer 101, and uses a weighted synthesis filter configured using unquantized LPCs ai and a2.
  • the weighted input speech signal is calculated by filtering in the evening, and output to pitch candidate selector 109.
  • the pitch candidate selector 109 buffers the weighted input audio signal generated in the past, and obtains a normalized autocorrelation function from a data sequence obtained by adding a newly generated weighted input audio signal to a buffer. Weight based on Extract the period of the input audio signal. At this time, no more than a predetermined number of pitch candidates are selected in descending order of the normalized autocorrelation function. Selection is performed using a normalized autocorrelation function, and a pitch that provides a normalized autocorrelation function that is equal to or greater than a value obtained by multiplying the maximum value of the normalized autocorrelation function by a predetermined threshold coefficient (for example, 0.7). The selection is made so that only the candidates are output.
  • a predetermined threshold coefficient for example, 0.7
  • the search range is divided into three ranges when searching for an open loop pitch, one candidate is selected from each range, and a total of three candidates are selected, and only one candidate is selected from the three candidates
  • a technique is adopted, one or more and three or less candidates can be selected from the three candidates by the selection method, and the final candidate can be determined in the closed loop pitch searcher.
  • the selected pitch period candidates are output to the first closed loop pitch searcher 112.
  • the structure of the pitch candidate selector 109 will be described later with reference to FIG.
  • the subframe divider 102 inputs a digitized signal sequence for one frame to be coded from the input buffer, divides this into two subframes, and converts the sequence into two subframes. Is supplied to the first target calculator 105, and the second subframe (the temporally later subframe) is supplied to the second evening calculator 106.
  • the first target calculator 105 configures a quantized synthesis filter and a weighted synthesis filter using qa1, which is the quantized LPC of the first subframe, and a1, which is the unquantized LPC.
  • qa1 which is the quantized LPC of the first subframe
  • a1 which is the unquantized LPC.
  • the weighted input speech after removing the zero input response of the quantized synthetic filter using the filter state st1 obtained by the second filter state updater 111
  • the signal (evening—get vector) is calculated and the first closed-loop pitch searcher 1 1 2, the first evening get vector updater 1 1 3, the first gain codebook searcher 1 1 4, and the second Outputs the get vector every evening to 1 filter status updater 1 1 5.
  • the first impulse response calculator 120 is constructed using a quantized synthetic filter composed using qa1, which is a quantized LPC, and a1, which is an unquantized LPC.
  • An impulse response of a filter obtained by cascading the weighted combined filters is obtained, and is output to the first closed-loop pitch searcher 112 and the first pitch periodic filter 122.
  • the first closed-loop pitch searcher 1 12 calculates the weighted synthesized speech vector (adaptive codebook component) by convolving the first impulse response with the adaptive code vector extracted from the adaptive codebook 1 19 Then, a pitch for generating an adaptive code vector that minimizes an error with respect to the first target vector is extracted.
  • the pitch search performed at this time is performed only in the vicinity of the pitch candidate input from the pitch candidate selector 109.
  • the adaptive code vector generated based on the obtained pitch is output to the first excitation generator 122 and used for generating the excitation vector, and is generated by convolving the adaptive code vector with the impulse response.
  • the one adaptive code synthesis vector is output to a first target updater 113, a first fill state updater 115, and a first gain codebook searcher 114.
  • the first evening get updater 113 is output from the first closed loop pitch searcher 112 from the first evening get vector output from the first evening get calculator 105.
  • the first vector for noise codebook search is calculated by subtracting the product of the synthesis vector and the optimum gain, and is output to the first noise codebook searcher 123.
  • the first random codebook searcher 1 2 3 generates the first noise after the pitch period input from the first pitch period filter 1 2 1 into the noise code vector extracted from the random codebook 1 2 4.
  • a weighted synthesized speech vector (noise codebook component) is calculated, and a noise code vector that minimizes an error with the first noise codebook target vector is selected.
  • the selected noise code vector is periodicized by the pitch periodicization filter, output to the first excitation generator 122, and used for generating an excitation vector.
  • the pitch period T used for this filter is P 1 input from the first closed-loop pitch searcher 112.
  • Equation 1 is the quantized adaptive code gain (pitch gain) in the immediately preceding subframe.
  • the first gain codebook searcher 1 14 is composed of a first evening gate calculator 105, a first closed-loop pitch searcher 112, and a first noise codebook searcher 123.
  • the first target vector, the first adaptive code synthesis vector, and the first noise code synthesis vector are input, and the first target vector and the first adaptive code synthesis vector are quantized.
  • Adaptive code gain and quantifier that minimize the square error between the product of the quantized adaptive code gain and the sum of the product of the first noise code synthesis vector and the quantized noise code gain The combination with the noise code gain is selected from the gain codebooks 12 9.
  • the selected quantization gain is output to the first sound source generator 122 and the first filter state updater 115, and is used for generating a sound source vector and updating the state of the synthetic filter.
  • the first sound source generator 1 2 2 includes an adaptive code vector input from the first closed-loop pitch searcher 1 12, and a pitch period-converted input from the first noise codebook searcher 1 2 3.
  • the noise code vector is multiplied by a quantization gain (adaptive codebook component) and a quantization gain (noise codebook component) input from the first gain codebook searcher 114, respectively.
  • the excitation vector of the first subframe is generated by adding the adaptive code vector and the noise code vector.
  • the generated excitation vector of the first subframe is output to the adaptive codebook, and the adaptive codebook is updated.
  • the first fill state updater 1 15 updates the state of the fill combination in which the quantized combined fill and the weighted combined fill are cascaded.
  • the state of the filter is determined by the first gain vector input from the first target calculator 105 and the quantization gain (adaptive codebook) output from the first gain codebook searcher 114. Component) and the adaptive code synthesis vector output from the first closed-loop pitch searcher 111 and the quantization gain output from the first gain codebook searcher 114 (noise codebook component). And the noise code synthesis vector output from the first noise codebook searcher 123 multiplied by.
  • the obtained filter state is output as st2, used as the fill state of the second subframe, and used by the second evening get calculator 106.
  • the second target calculator 106 forms a quantized synthesis filter and a weighted synthesis filter using Qa2, which is the quantized LPC of the second subframe, and a2, which is the unquantized LPC. Then, in the first subframe, the weighted input speech signal (evening) after removing the zero input response of the quantized synthetic filter by using the filter state st2 obtained by the first filling state updating unit 115.
  • Target vector a second closed-loop pitch searcher 1 16, a second target vector updater 1 17, a second gain codebook searcher 1 18, and a second filter state updater Output the second target vector to 1 1 1.
  • the second impulse response calculator 127 calculates a quantized synthesis filter configured using Qa2, which is a quantized PC, and a weighted synthesis filter configured using a2, which is an unquantized LPC.
  • the impulse response of the cascade-connected filter is obtained and output to the second closed-loop pitch searcher 116 and the second pitch-period filter 128.
  • the second closed-loop pitch searcher 1 16 calculates a weighted synthesized speech vector (adaptive codebook component) by convolving the second impulse response with the adaptive code vector extracted from the adaptive codebook 1 19 Then, the pitch that generates the adaptive code vector that minimizes the error from the second evening target vector is extracted.
  • the pitch search performed at this time is performed only for the vicinity of the pitch P1 of the first subframe input from the first closed-loop pitch searcher 112. W
  • the adaptive code vector generated based on the obtained pitch is output to the second excitation generator 126 to be used for generating the excitation vector, and the second generated by convolving the adaptive code vector with the impulse response. Is output to the second target updater 117, the second filter state updater 111, and the second gain codebook searcher 118.
  • the second target updater 1 17 outputs the second adaptive vector output from the second closed-loop pitch searcher 1 16 from the second target vector output from the second target calculator 106.
  • a second target vector for noise codebook search is calculated and output to the second noise codebook searcher 125.
  • the second random codebook searcher 1 25 adds the second pitch-periodic filter input from the second pitch-periodic filter By convolving the impulse responses of the above, a weighted synthesized speech vector (noise codebook component) is calculated, and a noise code vector that minimizes an error from the second noise codebook target vector is selected.
  • the selected random code vector is periodicized by the second pitch period filter, output to the second sound source generator 126, and used for generating a sound source vector.
  • a second noise code synthesized vector generated by convolving the impulse response after the pitch period with the noise code vector is generated by a second gain codebook searcher 118 and a second filter state updater.
  • the pitch period T used in this filter is P 2 input from the second open-loop pitch searcher 116.
  • the second gain codebook searcher 118 has a second evening get calculator 106, a second closed loop pitch searcher 116, and a second noise code.
  • the second target vector, the second adaptive code synthesis vector, and the second noise code synthesis vector are input from the book searcher 1 25 to the second target vector and the second adaptive code, respectively.
  • a quantized adaptive code that minimizes the square error with the sum vector of the synthesized vector multiplied by the quantized adaptive code gain and the second noise code synthesized vector multiplied by the quantized noise code gain.
  • Gain and quantization Combination of noise code gain is selected from the gain codebooks 12 9.
  • the selected quantization gain is output to the second sound source generator 126 and the second filter state updater 111, and is used for generating the sound source vector and updating the state of the synthesis filter.
  • the second sound source generator 126 includes an adaptive code vector input from the second closed-loop pitch searcher 116 and a post-pitch periodicization input from the second noise codebook searcher 125. Is multiplied by the quantization gain (adaptive codebook component) and the quantization gain (noise codebook component) input from the second gain codebook searcher 1 18, respectively.
  • the excitation vector of the second sub-frame is generated by adding the subsequent adaptive code vector and noise code vector.
  • the generated excitation vector of the second subframe is output to the adaptive codebook and updates the adaptive codebook.
  • the second filter state updater 111 updates the state of the filter in which the quantized composite filter and the weighted composite filter are cascaded.
  • the state of the filter is determined by the quantization gain (adaptive codebook component) output from the second gain codebook searcher 118 based on the evening get vector input from the second evening get calculator 106. Multiplied by the adaptive code synthesis vector output from the second closed-loop pitch searcher 1 16 and the quantization gain (noise codebook component) output from the second gain codebook searcher 1 18 And the noise code synthesis vector output from the second random codebook searcher 125.
  • the obtained filter state is output as st1, is used as the filter state of the first subframe of the next frame, and is used by the first sunset calculator 105.
  • the adaptive codebook 1 19 is the first sound source generator 1 2
  • the sound source signals generated by the second and second sound source generators 126 are temporally arranged and buffered, and the sound source signals generated in the past by the necessary length for the closed loop pitch search are stored. I have.
  • the adaptive codebook is updated once per subframe. After the adaptive codebook buffer is shifted by one subframe, the newly generated excitation signal is copied at the end of the buffer. Note that, of the quantization target signals divided by the subframe divider 102, the encoding process of the first subframe is performed first, and after the encoding process of the first subframe is completed, the The encoding process of two subframes is performed, and the pitch P2 of the second subframe is differentially quantized using the pitch P1 of the first subframe and transmitted to the decoder side.
  • the LPC data output from the LPC quantizer 107 is L
  • the pitch P 1 is output from the first closed-loop pitch searcher 112
  • the first noise codebook search is performed.
  • Code data S 1 output from the unit 1 2 3 gain data G 1 output from the first gain codebook searcher 1 1 4, output from the second closed-loop pitch searcher 1 16
  • the pitch P 2, the noise code vector S 2 output from the second noise codebook searcher 1 25, and the gain data G 2 output from the second gain codebook searcher 1 18 are It is encoded and output to the decoder as a bit string via the transmission path.
  • a normalized autocorrelation function calculator 201 receives a weighted input speech signal as an input, calculates a normalized autocorrelation function, and outputs the calculated autocorrelation function to a range divider 202 as classification means.
  • the range divider 200 divides the normalized autocorrelation function output from the normalized autocorrelation function calculator 201 into three ranges according to the value of the pitch lag. , The second maximum value searcher 204, and the third maximum value searcher 205.
  • the first maximum value search unit 203 receives the autocorrelation function of the first range divided by the range divider 202 as an input, and calculates the maximum value of the normalized autocorrelation function from the input.
  • the value of the pitch lag giving the maximum value is output to the candidate selector 207, and the maximum value of the autocorrelation function is output to the fourth maximum value searcher 206.
  • the second maximum value searcher 204 receives the autocorrelation function of the second range divided by the range divider 202 as an input, and calculates the maximum value of the normalized autocorrelation function and the maximum value thereof from the input.
  • the value of the given pitch lag is output to the selector 207, and the maximum value of the autocorrelation function is output to the fourth maximum value searcher 206.
  • the third maximum value searcher 205 receives the autocorrelation function of the third range divided by the range divider 200 as an input, and finds the maximum value of the normalized autocorrelation function and the maximum value from among them.
  • the value of the given pitch lag is output to the selector 207, and the maximum value of the autocorrelation function is output to the fourth maximum value searcher 206.
  • the fourth maximum value search unit 206 receives the normal values in each range from the first maximum value search unit 203, the second maximum value search unit 204, and the third maximum value search unit 205.
  • the maximum value of the autocorrelation function is input, and the maximum value is output to the threshold calculator 208.
  • the threshold calculator 208 receives the maximum value of the normalized autocorrelation function output from the fourth maximum value searcher 206 as an input, multiplies this by a threshold constant, calculates a threshold, and selects candidates. Output to the container 207.
  • the candidate selectors 207 form the normalized autocorrelation in each range from the first maximum value searcher 203, the second maximum value searcher 204, and the third maximum value searcher 205.
  • the maximum value of the function and the value of the pitch lag that gives the maximum value are input, and only the pitch lag that gives the normalized autocorrelation function exceeding the threshold value input from the threshold calculator 208 is selected. Outputs the number of pitch lags.
  • the present invention solves this problem by outputting a plurality of pitch candidates without performing a weighting process and determining a pitch when searching for a closed loop pitch. As a result, it is possible to select an optimum pitch from the adaptive codebook even for signals having two or more types of pitch periodicity. In addition, when the self-correlation is calculated, it is possible to prevent selection of a candidate having a relatively low correlation value, so that the pitch of the subframe on which the differential quantization is performed is not adversely affected.
  • the range divider 202 divides the range into three, but may divide the range into other numbers.
  • FIG. 5 is a flowchart showing the processing contents of the pitch candidate selector 109 shown in FIG. 5, first, a step (hereinafter, ST abbreviated) in 1 0 1, normalized autocorrelation function n CO r weighted input signal [n], Pmin ⁇ n ⁇ Pmax ( Pmin is the pitch search range of a lower limit, Pmax is the upper limit of the pitch search range).
  • ST abbreviated normalized autocorrelation function n CO r weighted input signal [n]
  • Pmin ⁇ n ⁇ Pmax Pmin is the pitch search range of a lower limit
  • Pmax is the upper limit of the pitch search range
  • the maximum value of the normalized autocorrelation function in the first range (Pmin ⁇ n ⁇ Pmaxl, where Pmaxl is the upper limit of the pitch in the first range) is calculated.
  • the pitch lag P1 to be given.
  • a pitch lag P2 that gives the maximum value of the normalized autocorrelation function in the second range (Pmaxl ⁇ n ⁇ Pmax2, Pmax2 is the upper limit of the pitch in the second range) is determined.
  • a pitch lag P3 that gives the maximum value of the normalized self-correlation function in the third range (Pmax2 ⁇ n ⁇ Pmax) is obtained. Note that the processing order of ST 102, ST 103, and ST 104 is arbitrary.
  • FIG. 6 is a block diagram showing a decoding device according to Embodiment 1 of the present invention.
  • the LPC decoder 401 converts the LPC information L transmitted from the encoder side into an LPC And outputs it to the LPC interpolator 402.
  • the LPC interpolator 402 inputs the LPC output from the LPC decoder 401, performs interpolation processing, and then quantizes (decodes) the LPCs qa1 and qa2 of the first and second subframes. Synthetic fill Evening 4 1 Output to 1.
  • the adaptive code vector decoder 403 receives the pitch information P1 and P2 of the first and second subframes transmitted from the encoder side, and based on the pitches PI and P2, the adaptive codebook.
  • the adaptive code vector is extracted from 404 and output to excitation generator 410.
  • Adaptive codebook 404 buffers the excitation vector output from excitation generator 410 while updating it for each subframe, and outputs it to adaptive code vector decoder 403.
  • the noise code vector decoder 405 receives the noise codebook information S 1 and S 2 of the first and second subframes transmitted from the encoder side, and generates a noise code corresponding to S 1 and S 2.
  • the vector is extracted from the random codebook 406 and output to the pitch periodic filter 409.
  • the noise code book 406 stores the same contents as those of the encoder, and outputs the noise code vector to the noise code vector decoder.
  • the gain decoder 4 07 inputs the gain information G 1 and G 2 of the first and second subframes transmitted from the encoder side, and calculates the gains corresponding to G 1 and G 2 into the gain codebook 4 0. 8 and decodes the quantization gain and outputs it to the sound source generator 410.
  • the gain codebook 408 stores the same contents as those of the encoder, and outputs the quantization gain to the gain decoder 407.
  • the pitch period filter 409 receives the noise code vector output from the noise code vector decoder and the pitch information P 1 and P 2 transmitted from the encoder side as inputs, and converts the noise code vector.
  • the pitch is cycled and output to the sound source generator 410.
  • the sound source generator 410 converts the adaptive code vector, the pitch-periodic noise code vector, and the decoding gain into an adaptive code vector decoder 403, a pitch-period filter 409, and a gain, respectively.
  • the sound source vectors input from the decoder 407 and generated are output to the synthesis filter 411 and the adaptive codebook 404, respectively.
  • the synthesis filter 4 1 1 constructs a synthesis filter using qa 1 and qa 2 output from the LPC interpolator 4 0 2, and uses the sound source vector output from the sound source generator 4 10 as a filter input.
  • the filter processing is performed, and the decoded audio signal is output to the subframe buffer 4 12.
  • the sub-frame buffer 412 accumulates the decoded audio signal output from the synthesis filter 411 for one sub-frame, and outputs it to the frame buffer 413.
  • the frame buffer 413 receives as input the decoded audio signal for one subframe output from the subframe buffer 412, accumulates and outputs only one frame (two subframes).
  • the operation of the decoding device having the above configuration will be described with reference to FIG.
  • the LPC information L transmitted from the encoder side is decoded by the LPC decoder 401.
  • the same interpolation processing as on the encoder side is performed by the LPC interpolator 402, and the quantized LPC of the first subframe qa1 and the quantized LPC of the second subframe Qa2 are Get.
  • q a 1 is used to compose the synthesis filter of the first sub-frame
  • Q a 2 is used to compose the synthesis filter of the second sub-frame.
  • the pitch information P 1 and P 2 of the first and second subframes transmitted from the encoder side are input to the adaptive code vector decoder 403 and the pitch period filter 409.
  • the adaptive code vector of the first subframe is cut out from adaptive codebook 404 and output to excitation generator 410 as a decoded adaptive code vector.
  • the noise code information S 1 and S 2 of the first and second subframes transmitted from the encoder side are input to the noise code vector decoder, and first, the noise code of the first subframe is The vector is extracted from the random codebook 406 and output to the pitch period filter 409.
  • the pitch period filter 409 performs the pitch period of the noise code vector at the pitch period P1 based on the above equation 1 similarly to the encoder side, and outputs the result to the sound source generator 410.
  • the gain information G 1, G 2 transmitted from the encoder side is input to the gain decoder 407, and first, the gain of the first subframe is calculated using G 1.
  • the adaptive code gain and the noise code gain are taken out from the gain codebook 408, decoded, and output to the excitation generator 410.
  • the excitation generator 410 generates a vector obtained by multiplying the adaptive code vector output from the adaptive code vector decoder 403 by the adaptive code gain output from the gain decoder 407, and the pitch period.
  • the addition to the noise code vector after pitch period output from the filter 409 and the vector multiplied by the noise code gain output from the gain decoder 407 is output to the row synthesis filter.
  • the decoded excitation vector output to the synthesis filter is also output to adaptive codebook 404 at the same time, and becomes a part of the adaptive codebook used in the next subframe.
  • the synthesis filter 411 synthesizes the decoded speech of the first subframe using a synthesis filter configured using qa1 with the decoded excitation vector output from the excitation generator 410 as input. Output to the subframe buffer 4 1 2.
  • Similar speech decoding processing is performed using the pitch information P 2 of the second subframe, the noise code information S 2, the gain information G 2, and q a 2 which is the decoding LPC.
  • the decoded audio signal for two sub-frames (one frame) buffered in the frame buffer 4 13 is output from the decoder, and the decoding of the audio signal for one frame is completed.
  • FIG. 7 is a block diagram showing a configuration of the speech coding apparatus according to Embodiment 2 of the present invention.
  • This speech coding device selects a pitch candidate using a residual signal instead of a weighted input signal, and does not perform pitch periodization of a noise code vector. Having a configuration.
  • an input buffer 501 buffers an input digital audio signal by updating a frame by one frame while buffering a data of a length necessary for encoding, and a subframe divider 502 and an LPC analyzer. Output necessary data to 503 and reverse fill 504.
  • the subframe divider 502 divides the input digital signal for one frame input from the input buffer 501 into two subframes, and outputs a signal of the first subframe to the first target calculator 505, The signal of the second subframe is output to second evening get calculator 506.
  • the LPC analyzer 503 inputs a digital voice signal required for analysis from the input buffer 501, performs LPC analysis, and outputs a linear prediction coefficient to the LPC quantizer 507 and the second LPC interpolator 508. Output.
  • the inverse filter 504 receives as input the digital audio signal for one frame input from the input buffer 501 and the linear prediction coefficients qa 1 and qa 2 output from the first LPC interpolator 5 10 And outputs it to the pitch candidate selector 509.
  • the LPC quantizer 507 quantizes and quantizes the linear prediction coefficient output from the LPC analyzer 503, outputs the LPC to the first LPC interpolator 510, and simultaneously encodes the quantized LPC. Outputs data L to the decoder.
  • the second LPC interpolator 508 interpolates the LPC of the first subframe with the LPC output from the LPC analyzer 503 as an input, and defines the LPCs of the first and second subframes as a 1 and a 2, respectively. Output.
  • the first LPC interpolator 510 performs quantization LPC interpolation of the first subframe using the quantized PC output from the LPC quantizer 507 as an input, and performs interpolation of the first and second subframes.
  • the quantized LPC is output as qa 1 and qa 2 respectively.
  • the first target calculator 505 includes a digital audio signal of the first sub-frame divided by the sub-frame divider 502, and a second fill state updater 511 in the immediately preceding second sub-frame.
  • the second target vector updater 506 includes a digital audio signal of the second subframe output from the subframe divider 502, a first filter state updater 5 in the first subframe of the current frame.
  • the second target vector is calculated by using the evening state st 2 output from 15 and the quantized and unquantized LPCs qa 2 and a 2 of the second subframe as inputs.
  • the pitch candidate selector 509 extracts the pitch periodicity using the residual signal output from the inverse filter 504 as an input, and outputs the pitch period candidate to the first closed-loop pitch searcher 5 12.
  • the first closed-loop pitch searcher 5 1 2 converts the first target vector, pitch candidate, adaptive code vector candidate, and impulse response vector into a first evening get calculator 5 0 5 and a pitch candidate selector 5 0, respectively.
  • the adaptive codebook 5 19, and the first impulse response calculator 5 20, respectively perform a closed-loop pitch search from each pitch candidate, and determine the closed-loop pitch as a second closed-loop pitch searcher.
  • the adaptive code vector is output to the first excitation generator 521, and the combined vector obtained by convolving the adaptive code vector with the first impulse response is output to the first noise codebook.
  • the first noise code book searcher 5 13 3 converts the first target vector, the first adaptive code synthesis vector, and the first impulse response vector into a first evening get calculator 5 0 5, Input from the first closed-loop pitch searcher 5 1 2 and the first impulse response vector calculator 5 2 0, and input the noise code vector candidate output from the noise code book 5 2 2 Optimum noise code vector from book 5 2 2
  • the selected noise code vector is output to the first sound source generator 521, and the resultant vector obtained by convolving the selected noise code vector with the first impulse response vector is output to the first Output to the gain codebook searcher 514 and the first fill state updater 515, and output the code S1 representing the selected noise code vector to the decoder.
  • the first gain codebook searcher 5 1 4 converts the first evening get vector, the first adaptive code combining vector, and the first noise code combining vector into a first evening get calculator 5 0, respectively. 5, input from the first closed-loop pitch searcher 5 1 2 and the first random codebook searcher 5 1 3 respectively, and select the optimum quantization gain from the gain codebook 5 2 3 Output to the first sound source generator 521 and the first filter evening state updater 515.
  • the first filter state updater 5 15 converts the first target vector, the first adaptive code synthesis vector, the first noise code synthesis vector, and the first quantization gain into a first Input from the vector calculator 5 0 5, the first closed-loop pitch searcher 5 1 2, the first noise codebook searcher 5 1 3, and the first gain codebook searcher 5 1 4 Updates the state of the fill evening and outputs the fill evening state st2.
  • the first impulse response calculator 520 receives the aural weighting filter and the synthetic filter by using a1 which is the LPC of the first subframe and Qa1 which is the quantization LPC of the first subframe as inputs. Are calculated and output to the first closed-loop pitch searcher 512 and the first noise codebook searcher 513.
  • the random codebook 5 2 2 stores a predetermined number of noise code vectors having a predetermined shape, and a first random codebook searcher 5 13 and a second random codebook search.
  • the noise code vector is output to the detector 5 17.
  • the first sound source generator 5 21 converts the adaptive code vector, the random code vector, and the quantization gain into a first closed-loop pitch searcher 5 12, a first random codebook searcher 5 13, and a Input from the gain codebook searcher 5 1 4 of 1 to generate the excitation vector and generate The sound source vector is output to the adaptive codebook 5 19.
  • the adaptive codebook 5 19 receives the excitation vectors alternately output from the first excitation generator 5 2 1 and the second excitation generator 5 2 4, updates the adaptive codebook, and generates an adaptive code vector.
  • the candidates are alternately output to a first closed loop pitch searcher 5 12 and a second closed loop pitch searcher 5 16.
  • the gain codebook 5 2 3 stores quantization gains (adaptive code vector components and noise code vector components) prepared in advance, and stores the first gain codebook searcher 5 1 4 and the second gain coder. Output to book searcher 5 1 8
  • the second closed-loop pitch searcher 516 converts the second target vector, the pitch of the first subframe, the adaptive code vector candidate, and the impulse response vector into a second evening get calculator 506,
  • the closed loop pitch search is input near the pitch of the first subframe by inputting from the closed loop pitch searcher 5 1, the adaptive codebook 5 19, and the second impulse response calculator 5 25, respectively.
  • the closed loop pitch is output to the decoder as P 2 (where 2 is differentially quantized using 1 and then transmitted to the decoder side), and the adaptive code vector is output to the second sound source generator 5.
  • the second gain codebook searcher 518 converts the second target vector, the second adaptive code synthesis vector, and the second noise code synthesis vector into a second target calculator 506, a second From the closed loop pitch searcher 5 16 and the second noise codebook searcher 5 17, and select the optimal quantization gain from the gain codebook to obtain the second sound source generator 5 2 Output to 4th and 2nd fill state updater 5 1 1
  • the second filter state updater 511 transmits the second evening get vector, the second adaptive code synthesis vector, the second noise code synthesis vector, and the second quantization gain to the second Target vector calculator 5 06, second closed-loop pitch searcher 5 16, second noise codebook searcher 5 17, And from the second gain codebook searcher 5 18 to update the state of the synthesis filter and output the filter state st 1.
  • the second impulse response calculator 5 2 5 cascades the auditory weighting filter and the synthetic filter with the input of the LPC of the second subframe a 2 and the quantization LPC of the second subframe qa 2 as inputs.
  • the impulse response of the connected filter is calculated and output to the second closed-loop pitch searcher 516 and the second noise codebook searcher 517.
  • the second noise codebook searcher 5 17 outputs the second evening get vector output from the second evening get calculator 506 and the second closed loop pitch searcher 5 16
  • the second adaptive code synthesis vector, the second impulse response vector output from the second impulse response calculator 525, and the noise code vector candidate output from the noise codebook 522 are As an input, an optimal noise code vector is selected from the noise code book 522, the selected noise code vector is output to the second sound source generator 524, and the selected noise code vector is output to the second noise code vector.
  • the synthesized vector obtained by convolving the second impulse response vector is output to the second gain codebook searcher 518 and the second filter state updater 511, and represents the selected noise code vector. Output the code S 2 to the decoder.
  • the second sound source generator 5 2 4 includes an adaptive code vector, a noise code vector, and a quantization gain, respectively, as a second closed-loop pitch searcher 5 16 and a second noise codebook searcher 5 1 7 , And from the second gain codebook searcher 518 to generate an excitation vector, and output the generated excitation vector to the adaptive codebook 519.
  • the noise code vector data S 2 output from the random codebook searcher 5 17 and the gain data G 2 output from the second gain codebook searcher 5 18 are encoded and transmitted as a bit string on the transmission path.
  • P2 is differentially quantized using P1).
  • the processing of the second sub-frame is performed after all the processing of the first sub-frame is completed.
  • an audio signal is input to an input buffer 501.
  • the input buffer 501 updates the input digital audio signal to be encoded in units of one frame (10 ms), and updates the digital audio signal necessary for the subframe divider 502, LPC analyzer 503, and inverse filter 504. Supply buffering overnight. ? (3 The analyzer 503 performs a linear prediction analysis using the data supplied from the input buffer 501, calculates a linear prediction coefficient (LPC), and generates an LPC quantizer 507 and a second LPC interpolator. Output to 508.
  • LPC linear prediction coefficient
  • LPC quantizer 507 converts LPC into an LSP region, performs quantization, and outputs the quantized LSP to first LPC interpolator 510.
  • the first LPC interpolator takes the input quantization LSP as the quantization LSP of the second subframe, and the quantization LSP of the first subframe is the quantization LSP of the second subframe of the immediately preceding frame. It is obtained by linear interpolation between the current frame and the quantized LSP of the second subframe of the current frame.
  • the obtained quantized LSPs of the first and second subframes are converted into LPCs and then output as Qa1 and Qa2 as quantized LPCs, respectively.
  • the first SP sub-frame SP is interpolated as in the first LPC interpolator 510, and the first and After the LSP of the second subframe is determined, it is converted to LPC and output as unquantized LPC as a1 and a2, respectively.
  • the inverse filter 504 inputs the digital data sequence to be quantized from the input buffer 501 for one frame (10 ms), and performs inverse filtering by using the quantization LPCs qa 1 and q E2. Then, a residual signal is calculated by performing filtering, and output to the pitch candidate selector 509.
  • Pitch candidate selector 50 9 buffers the residual signal generated in the past, calculates the normalized autocorrelation function from the data sequence obtained by adding the newly generated residual signal to the buffer, and based on this, calculates the period of the residual signal. Is extracted. At this time, no more than a predetermined number of pitch candidates are selected in descending order of the normalized autocorrelation function.
  • Selection is performed using a normalized autocorrelation function, and a pitch candidate that provides a normalized autocorrelation function that is equal to or greater than a value obtained by multiplying the maximum value of the normalized autocorrelation function by a predetermined threshold coefficient (for example, 0.7)
  • a predetermined threshold coefficient for example, 0.7
  • the subframe divider 502 inputs a digital signal sequence for one frame to be encoded from the input buffer, divides this into two subframes, Is supplied to a first target calculator 505, and the second subframe (a temporally later subframe) is supplied to a second evening get calculator 506.
  • the first target calculator 505 uses the quantized LPC Qa1 of the first subframe and the unquantized LPC a1 to divide the quantized composite filter and the weighted composite filter. Weighted input after eliminating the zero-input response of the quantized synthesis filter using the fill state st1 obtained by the second fill state updater 5 11 in the second subframe of the immediately preceding frame A speech signal (first target vector) is calculated, and a first closed-loop pitch searcher 5 1 2, a first random codebook searcher 5 1 3, a first gain codebook searcher 5 1 4, and A first evening get vector is output to the first fill state updater 5 15.
  • the first impulse response calculator 520 is composed of a quantized synthetic filter configured using Qa1, which is a quantized LPC, and a weighted synthetic filter configured using a1, which is an unquantized LPC. Are obtained in cascade, and output to the first closed-loop pitch searcher 512 and the first noise codebook searcher 513.
  • the first closed-loop pitch searcher 5 1 2 is based on the adaptive codebook 5 1 9 By convolving the first impulse response with the adaptive code vector extracted from, the weighted synthesized speech vector (adaptive codebook component) is calculated, and the adaptive code that minimizes the error with the first target vector is calculated. The pitch that generates the vector is extracted.
  • the pitch search performed at this time is performed using the pitch candidate input from the pitch candidate selector 509, and is selected from the pitch candidates.
  • the adaptive code vector generated based on the determined pitch is output to the first excitation generator 52 21 and used for generating the excitation vector, and is generated by convolving the adaptive code vector with the impulse response.
  • the first adaptive code synthesis vector is output to the first noise codebook searcher 5 13, the first filter state updater 5 15, and the first gain codebook searcher 5 14 Is done.
  • the first random codebook searcher 5 1 3 convolves the first impulse response input from the first impulse response calculator 5 2 0 into the random code vector extracted from the random codebook 5 2 2
  • the noise code vector that minimizes the error from the first evening get vector is calculated. Choose a kutor.
  • the selected noise code vector is output to the first sound source generator 521 and used for generating a sound source vector.
  • the first noise code synthesis vector generated by convolving the first impulse response with the random code vector is a first gain codebook searcher 5 14 and a first filter state updater 5.
  • the first gain codebook searcher 5 1 4 includes a first target calculator 5 0 5, a first closed-loop pitch searcher 5 1 2, and a first noise codebook searcher 5 1 3
  • the first target vector, the first adaptive code synthesis vector, and the first noise code synthesis vector are input, and the first target vector and the first adaptive code synthesis vector are multiplied by the quantized adaptive code gain.
  • the first noise code synthesis vector multiplied by the quantization noise code gain minimizes the square error of the sum of the vector and the quantization noise code gain.
  • the selected quantization gain is output to the first sound source generator 521 and the first filter state updater 515 to be used for generating a sound source vector and updating the state of the synthetic filter.
  • the first sound source generator 5 2 1 converts the adaptive code vector input from the first closed-loop pitch searcher 5 12 and the noise code vector input from the first noise codebook searcher 5 14 Multiplied by the quantization gain (adaptive codebook component) and the quantization gain (noise codebook component) input from the first gain codebook searcher 5 14, respectively.
  • the excitation vector of the first subframe is generated by adding the noise code vector.
  • the generated excitation vector of the first subframe is output to the adaptive codebook and updates the adaptive codebook.
  • the first filter state updater 5 15 updates the state of the filter in which the quantized synthesis filter and the weighting synthesis filter are cascaded.
  • the state of the filter is calculated by calculating the quantized gain (adaptive codebook component) output from the first gain codebook searcher 514 from the target vector input from the first evening get calculator 505.
  • the obtained filter state is output as st2, and is used by the second evening get calculator 506 as the filter state of the second subframe.
  • the second target calculator 506 uses the quantized LPC Qa2 of the second subframe and the unquantized LPC a2 to divide the quantized composite filter and the weighted composite filter.
  • the weighted input speech signal after removing the zero-input response of the quantized synthetic filter using the filter state st2 obtained by the first filter state updater 5 15 in the first subframe.
  • the second evening get vector is output to the updater 5 1 1.
  • the second impulse response calculator 5 25 includes a quantized synthesis filter configured using Qa 2 that is a quantized LPC and a weighted composite filter configured using a 2 that is an unquantized LPC.
  • the second closed-loop pitch searcher 516 convolves the weighted synthesized speech vector (adaptive codebook component) by convolving the second impulse response with the adaptive code vector extracted from the adaptive codebook 511. Calculate and extract the pitch that generates the adaptive code vector that minimizes the error from the second evening vector.
  • the pitch search performed at this time is performed only in the vicinity of the pitch P1 of the first subframe input from the first closed-loop pitch searcher 512.
  • the adaptive code vector generated by the obtained pitch is output to the second excitation generator 524 and used for generating the excitation vector, and is generated by convolving the adaptive code vector with the impulse response.
  • the second adaptive code synthesis vector is output to a second noise codebook searcher 5 17, a second filter state updater 5 11 1, and a second gain codebook searcher 5 18.
  • the second noise codebook searcher 5 17 convolves the second impulse response input from the second impulse response calculator 5 25 with the noise code vector extracted from the noise codebook 5 2 2 In this way, a weighted synthesized speech vector (noise codebook component) is calculated, and when combined with the second adaptive code synthesis vector, a noise code vector that minimizes an error from the second target vector is selected. .
  • the selected noise code vector is output to the second sound source generator 524 and used for generating a sound source vector.
  • a second noise code synthesis vector generated by convolving the second impulse response with the noise code vector includes a second gain codebook searcher 5 18 and a second filter state updater 5. 1 Output to 1.
  • the second gain codebook searcher 518 includes a second evening get calculator 506, a second closed-loop pitch searcher 516, and a second noise codebook searcher 517.
  • Second The target vector, the second adaptive code synthesis vector, and the second noise code synthesis vector are input, and the quantized adaptive code gain is set to the second evening code vector and the second adaptive code synthesis vector.
  • the combination of the quantized adaptive code gain and the quantized noise code gain that minimizes the square error of the vector obtained by multiplying the vector by the quantization noise code gain and the sum of the products. Select the matching from the gain codebook 5 2 3.
  • the selected quantization gain is output to the second sound source generator 524 and the second filter state updater 511, and used for generating a sound source vector and updating the state of the synthesis filter.
  • the second sound source generator 5 2 4 includes an adaptive code vector input from the second closed-loop pitch searcher 5 16 and a noise code vector input from the second noise codebook searcher 5 25. Is multiplied by the quantization gain (adaptive codebook component) and the quantization gain (noise codebook component) input from the second gain codebook searcher 5 18, respectively, to obtain an adaptive code vector after the quantization gain multiplication. Then, the sound source vector of the second subframe is generated by adding the noise code vector and the noise code vector. The generated excitation vector of the second subframe is output to adaptive codebook 519 to update adaptive codebook 519.
  • the second filter state updater 511 updates the state of the filter in which the quantized composite filter and the weighted composite filter are cascaded.
  • the state of the filter is based on the target vector input from the second evening get calculator 506 and the quantization gain (adaptive codebook component) output from the second gain codebook searcher 518.
  • the calculated fill state is output as st1, is used as the fill state of the first subframe of the next frame, and is used by the first target calculator 505.
  • the adaptive codebook 5 19 is composed of the first sound source generator 5 21 and the second sound source It is a buffer in which the sound source signals generated by the sound generators 124 are arranged in time and buffered, and stores the sound source signals generated in the past for the length required for the closed loop pitch search.
  • the adaptive codebook is updated once per subframe. After the adaptive codebook buffer is shifted by one subframe, the newly generated excitation signal is copied to the end of the buffer.
  • the encoding processing of the first subframe is performed first, and after the encoding processing of the first subframe is completed, the second Subframe encoding is performed, and the pitch P2 of the second subframe is differentially quantized using the pitch P1 of the first subframe.
  • the data is output as a bit string to the decoder via the transmission path.
  • a normalized autocorrelation function calculator 60 1 receives a residual signal, calculates a normalized autocorrelation function, and outputs the function to a first candidate selector 62.
  • the first candidate selector 60 2 is determined in advance from the normalized auto-correlation function output from the normalized auto-correlation function calculator 60 1 in descending order of the value within the pitch search range.
  • a number (for example, NCAND) of pitches is output to the maximum value searcher 603 and the second candidate selector 605 as pitch candidates.
  • the maximum value search unit 603 selects the maximum value from the top NCAND normalized autocorrelation functions output from the first candidate selector 602 (the normalized autocorrelation that becomes the maximum value within the pitch search range). Is output to the threshold calculator 604. Threshold calculator 6 0 4 multiplies the value of the maximum normalized autocorrelation function output from the maximum value searcher 603 by a predetermined threshold constant Th, and outputs the result to the second candidate selector 605.
  • the second candidate selector 605 is a pitch candidate that provides a normalized autocorrelation function exceeding the threshold output from the threshold calculator 604 from among the NCAD candidates output from the first candidate selector 602. Select only and output as pitch candidates.
  • the pitch candidate output from the first candidate selector 602 is generally output as it is (to the closed loop pitch searcher).
  • FIG. 2 shows a flowchart of this process.
  • Fig. 2 first, in ST1, the normalized autocorrelation function ncor [n n (Pmin ⁇ n ⁇ Pmax, where Pmin is the lower limit of the pitch search range and Pmax is the upper limit of the pitch search range) of the residual signal is found. Then, in ST2, pitch candidate count (loop count) i is cleared to zero, and then in ST3, n that maximizes ncor [n] (Pmin ⁇ n ⁇ Pmax) is selected as pitch candidate Pi.
  • ncor [Pi] is cleared to the minimum value MIN, and P i is stored in pcand [i] as the (i + 1) th pitch candidate, and the pitch candidate counter (loop count) i
  • the present invention solves this problem by outputting a plurality of pitch candidates, but by providing the second candidate selector 605, the correlation value is not so high when the autocorrelation is calculated over the entire frame. Such a candidate is not output, so that a pitch specific to the first subframe is not selected when searching for the closed loop pitch of the first subframe.
  • FIG. 9 is a flowchart showing the processing contents of the pitch candidate selector 509 shown in FIG.
  • a normalized autocorrelation function ncor [n] Pmin ⁇ n ⁇ Pmax (Pmin is the lower limit of the pitch search range, and Pmax is the upper limit of the pitch search range) of the residual signal is calculated.
  • the candidate number counter i is cleared to 0.
  • n (Pmin ⁇ n ⁇ pmax) that maximizes ncor [n] is selected and set to P0.
  • ncor [Pi] is greater than or equal to a threshold Th X ncor—max.
  • Th is a constant for setting a threshold. If it is determined in ST 206 that ncor [Pi] is equal to or larger than the threshold, the processing of ST 207 is performed, ncor [Pi] is cleared by MIN, and P i is set as the (i + 1) -th pitch candidate. It is stored in pcand [i] and the candidate count i is incremented.
  • FIG. 10 is a block diagram showing a decoding apparatus according to Embodiment 2 of the present invention.
  • LPC decoder 801 decodes LPC from LPC information L transmitted from the encoder side, and outputs the result to LPC interpolator 802.
  • Otsu? The interpolator 802 receives the LPC output from the LPC decoder 801 and performs interpolation processing, and then quantizes (decodes) the LPCs of the first and second subframes qa 1 and Q a 2 Output to composite file 810.
  • Adaptive code vector decoder 803 receives pitch information P1 and P2 of the first and second subframes transmitted from the encoder side, and receives an adaptive codebook based on pitches P1 and P2.
  • the adaptive code vector is extracted from 804 and output to excitation generator 809.
  • Adaptive codebook 804 buffers the excitation vector output from excitation generator 809 while updating it for each subframe, and outputs the buffer to an adaptive code vector decoder.
  • the random code vector decoder 805 receives the random codebook information S 1 and S 2 of the first and second subframes transmitted from the encoder side, and generates a random code vector corresponding to S 1 and S 2. It is extracted from the noise codebook and output to the sound source generator 809.
  • the random codebook 806 stores the same contents as the codebook on the encoder side, and outputs a random code vector to the random code vector decoder 805.
  • Gain decoder 807 receives gain information Gl, G2 of the first and second subframes transmitted from the encoder side, and obtains a gain corresponding to Gl, G2.
  • the quantization gain is decoded from the in-codebook 808, and is output to the sound source generator 809.
  • the gain codebook 808 stores the same contents as those of the encoder, and outputs the quantization gain to the gain encoder 807.
  • the sound source generator 809 converts the adaptive code vector, the noise code vector, and the decoding gain from the adaptive code vector decoder 803, the noise code vector decoder 805, and the gain decoder 807, respectively. Input and output the generated excitation vector to synthesis filter 810 and adaptive codebook 804.
  • the synthesis filter 810 constructs a synthesis filter using qa 1 and qa 2 output from the LPC interpolator 802, and filters the sound source vector output from the sound source generator 809 as a filter input. Performs the processing and outputs the decoded audio signal to the subframe buffer 811.
  • the sub-frame buffer 811 accumulates the decoded audio signal output from the synthesis filter 8 10 for one sub-frame, and outputs it to the frame buffer 8 12.
  • the frame buffer 812 receives as input the decoded audio signal for one subframe output from the subframe buffer 8111, accumulates and outputs only one frame (two subframes).
  • LPC information L transmitted from the encoder side is decoded by LPC decoder 801.
  • the decoded LPC is interpolated by the LPC interpolator 802 in the same manner as on the encoder side, and Qa1, which is the quantized LPC of the first subframe, and qa2, which is the quantized LPC of the second subframe.
  • the interpolation process is a process of obtaining Qa1 by linear interpolation in the LSP region of qa2 decoded in the immediately preceding frame and Qa2 decoded in the current frame.
  • the LPC decoded from the transmitted LPC information L is used as it is.
  • qa 1 is used to compose the synthesis filter of the first sub-frame
  • Q a 2 is used to compose the synthesis filter of the second sub-frame.
  • the pitch information P 1 and P 2 of the first and second subframes transmitted from the encoder side are input to the adaptive code vector decoder 803. here, ? 2 for 1 Since it is differentially quantized by using, the pitch actually used in the second subframe is obtained by "P1 + P2".
  • the adaptive code vector of the first subframe is cut out from adaptive codebook 804, and output to excitation generator 809 as a decoded adaptive code vector.
  • the noise code information Sl and S2 of the first and second subframes transmitted from the encoder side are input to the noise code vector decoder, and first, the noise code of the first subframe using S1 is used.
  • the vector is extracted from the random codebook 806 and output to the sound source generator 809.
  • the gain information G 1, G 2 transmitted from the encoder side is input to the gain decoder 807, and first, the gain of the first subframe is extracted from the gain codebook 808 using G 1.
  • the adaptive code gain and the noise code gain are decoded and output to the sound source generator 809.
  • the sound source generator 809 includes a vector obtained by multiplying the adaptive code vector output from the adaptive code vector decoder 803 by the adaptive code gain output from the gain decoder 807, and a noise code vector.
  • the noise code vector output from the vector decoder 805 and the vector multiplied by the noise code gain output from the gain decoder 807 are added, and the resultant is output to the synthesis filter.
  • the decoded excitation vector output in the synthesis filter is also output to adaptive codebook 804 at the same time, and becomes part of the adaptive codebook used in the next subframe.
  • the synthesis filter 810 synthesizes the decoded speech of the first subframe using a synthesis filter configured using qa1 with the decoded excitation vector output from the excitation generator 809 as an input. , Output to the subframe buffer 8 1 1.
  • the contents of the sub-frame buffer 811 are copied to the first half of the frame buffer 812.
  • the input signal for selecting a pitch candidate in pitch candidate selector 509 is a residual signal, but pitch candidate selector 109 in Embodiment 1 has As shown, this can also be done with a weighted input audio signal.
  • a speech encoding device and a speech encoding / decoding device capable of avoiding the risk of selecting a pitch specialized for a subframe not differentially quantized by leaving a plurality of candidates too large are realized. can do.
  • FIG. 11 is a block diagram showing an audio signal transmitter and a receiver provided with the audio encoding device or the audio decoding device according to any of Embodiments 1 and 2 of the present invention.
  • an audio signal input device 901 converts an audio signal from a microphone or the like into an electrical signal and outputs the electrical signal to an AZD converter 902.
  • the 80 converter 902 converts the analog audio signal output from the audio signal input device into a digitized signal, and outputs it to the audio encoder 903.
  • Speech encoder 903 performs speech encoding using speech encoding apparatuses according to the first and second embodiments of the present invention, and outputs the result to RF modulator 904.
  • the RF modulator 904 converts the audio information encoded by the audio encoder 903 into a signal to be transmitted on a propagation medium such as a radio wave, and outputs the signal to the transmission antenna 905.
  • the transmission antenna 905 transmits the transmission signal output from the RF modulator 904 as a radio wave (RF signal).
  • reference numeral 906 denotes a radio wave (RF signal) transmitted from the transmitting antenna 905.
  • the receiving antenna 907 receives the radio wave (RF signal) 906 and outputs it to the RF modulator 908.
  • the RF demodulator 908 converts the received signal input from the receiving antenna 907 into an encoded audio signal and outputs the encoded audio signal to the audio decoder 909.
  • Audio decoder 909 performs a decoding process using the encoded audio signal output from the RF demodulator as an input by the audio decoding apparatus according to Embodiments 1 and 2 of the present invention, and outputs the decoded audio signal.
  • the DZA converter 910 receives the decoded audio signal from the audio decoder 909, converts it into an analog audio signal, and outputs the analog audio signal to the audio output device 911.
  • the audio output device 911 such as a speaker inputs an analog audio signal from the DZA converter and outputs audio.
  • voice is converted into an electric analog signal by the voice input device 901 and output to the AZD converter 902.
  • the analog audio signal is converted into a digital audio signal by the A / D converter 902 and output to the audio encoder 903.
  • the audio encoder 903 performs an audio encoding process, and outputs the encoded information to the RF modulator 904.
  • the RF modulator performs an operation for transmitting information of the encoded audio signal as a radio wave such as modulation, amplification, code spreading, and the like, and outputs the information to the transmission antenna 905.
  • a radio wave (RF signal) 906 is transmitted from the transmitting antenna 905.
  • the radio wave (RF signal) 906 is received by the receiving antenna 907, and the received signal is sent to the RF demodulator 908.
  • the RF demodulator 908 performs a process for converting a radio signal such as code despreading / demodulation into encoded information, and outputs the encoded information to the speech decoder 909.
  • the audio decoder 909 performs a decoding process on the encoded information and outputs a digital decoded audio signal to the DZA converter 910.
  • the 07-oct converter 910 converts the digitally decoded audio signal output from the audio decoder 909 into an analog decoded audio signal and outputs the analog decoded audio signal to the audio output device 911.
  • the audio output device 911 converts the electrical analog decoded audio signal into decoded audio and outputs it.
  • the transmitter and the receiver can be used for a mobile device or a base station device of a mobile communication device such as a mobile phone.
  • the medium for transmitting information is not limited to radio waves as described in the present embodiment, but may use optical signals or the like, and may also use a wired transmission path.
  • the audio encoding device or the audio decoding device described in the first and second embodiments and the transmitting device and the receiving device described in the third embodiment can be stored in recording media such as a magnetic disk, a magneto-optical disk, and a ROM cartridge. It is also possible to realize by recording as software, and by using such a recording medium, it is possible to realize a speech encoding apparatus, a Z decoding apparatus, and a transmitting apparatus and a receiving apparatus by a personal computer or the like using such a recording medium. Can be.
  • the speech encoding device and speech decoding device of the present invention can be applied to a transmitting device and a receiving device of a base station device and a communication terminal device in a digital wireless communication system.
  • the speech coding apparatus of the present invention can represent the periodicity of the input signal and the pitch of a plurality of subframes for differentially quantizing the pitch information, and can determine the appropriate pitch as the pitch lag of the adaptive codebook. Can be extracted.
  • the number of preliminary selection candidates is limited by threshold processing when the plurality of pitch candidates are preselected.
  • the pitch period is differentially quantized between subframes, it is possible to suppress deterioration of voice quality.
  • a transmission device or a reception device that can provide higher quality voice quality is provided by including the above-described voice encoding device or voice decoding device as a voice coder or voice decoder. it can.
  • the present specification is based on Japanese Patent Application No. 10-370570, filed on October 27, 1998. This content is included here.
  • Industrial applicability The CE LP type speech coding apparatus of the present invention can be applied to a communication terminal apparatus such as a mobile station and a base station apparatus in a digital radio communication system.

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)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Peptides Or Proteins (AREA)

Description

明 細 書
CELP型音声符号化装置 技術分野
本発明は、 移動通信システムなどにおいて、 音声信号を符号化して伝送する CEL P (Code Excited Linear Prediction)型音声符号ィ匕装置に関す る。 背景技術
ディジタル移動通信や音声蓄積の分野においては、 電波や記憶媒体の有効 利用のために音声情報を圧縮し、 高能率で符号化するための音声符号化装置 力用レ られてレ る。 中でも CELP (Code Excited Linear Prediction: 符号励振線形予測符号化) 方式をベースにした方式が中 ·低ビットレートに おいて広く実用化されている。 CELPの技術については、 M.R.Schroeder and B.S. Atal : "Code-Excited Linear Prediction ( CELP ) : High-quality Speech at Very Low Bit Rates", Proc. ICASSP-85 , 25.1.1, pp.937-940, 1985" (こ示されてレ る。
CEL P型音声符号化方式は、 音声をある一定のフレーム長 (5ms〜 5 0ms程度) に区切り、 各フレーム毎に音声の線形予測を行い、 フレーム毎 の線形予測による予測残差 (励振信号) を既知の波形からなる適応符号べク トルと雑音符号べクトルを用いて符号化するものである。
適応符号べクトルは、 過去に生成した駆動音源べクトルを格納している適 応符号帳から選択されて使用され、 雑音符号ベクトルは、 予め用意された定 められた数の定められた形状を有するべクトルを格納している雑音符号帳か ら選択されて使用される。
特に、 雑音符号帳に格納される雑音符号ベクトルには、 ランダムな雑音系 列のべクトルや何本かのパルスを異なる位置に配置することによって生成さ れるべクトルなどが用いられる。 特に、 後者の代表的な例として 1996年 に I TU— Tで国際標準として勧告された C S— ACELP (conjugate Structure and Algebraic CELP) 力挙げられる。 CS—ACE LPの技 術【こつレ て【ま "Recommendation G.729: Coding of Speech at 8 kbit/s using Con jugate -Structure Algebraic -Code -Excited Linear - Prediction ( CS - ACELP ) " , March 1996【こ示されてレ る。
なお、 CS— ACELFでは、雑音符号帳として代数的符号帳(Algebraic Codebook) を用いている。 CS— ACELPの代数的符号帳から生成される 雑音符号ベクトルは、 40サンプル (5ms) のサブフレーム中に振幅が— 1か+ 1である 4本のィンパルスが立てられたべクトル (4本のパルスが立 てられた位置以外は基本的に全て零) である。 振幅の絶対値は 1に固定され ているので、 音源ベクトルを表現するためには、 各パルスの位置と極性 (正 負) のみを表現すれば良い。 このため、 40 (サブフレーム長) 次元のべク トルとして符号帳に格納する必要がなく、 符号帳格納用のメモリが不要であ る。 また、 振幅が 1であるパルスが 4本しかベクトル中に存在しないため、 符号帳探索のための演算量を大幅に削減できるなどの特長を有している。 また、 CS— ACELPでは、 第 1サブフレームのピッチを用いた差分量 子化で第 2サブフレームのピッチを表現することによって適応符号べクトル 情報を効率的に符号化している。 また、 ピッチ探索においては、 フレーム単 位の開ループピッチ探索によってピッチ候補を 1つに絞り、 サブフレーム単 位の閉ループピッチ探索をこのピッチ候補の近傍において行う構成などを採 用しているため、 探索に要する演算量の削減も図られている。
ここで、 従来の CS— ACELP符号化装置を図 1を参照して具体的に説 明する。 図 1は、 従来の CS— ACELP音声符号化装置の基本的な構成を 示しており、 図 1において、 入力バッファ 1は、 入力ディジタル音声信号を 1フレーム分ずつ更新しながら必要な長さだけバッファリングしてサブフレ ーム分割器 2、 L P C分析器 3、 及び重み付け合成フィル夕 4に必要なデー 夕を出力する。
サブフレーム分割器 2は、 入力バッファ 1から入力した 1フレーム分の入 力ディジタル信号を 2つのサブフレームに分割して第 1サブフレームの信号 を第 1のターゲット算出器 5に出力し、 第 2サブフレームの信号を第 2の夕 一ゲット算出器 6に出力する。 L P C分析器 3は、 入力バッファ 1から分析 に必要なディジ夕ル音声信号を入力して L P C分析を行い線形予測係数を L P C量子化器 7及び第 2の L P C補間器 8に出力する。 重み付け合成フィル 夕 4は、 入力バッファ 1から入力した 1フレーム分のディジ夕ル音声信号と 第 2の L P C補間器 8から出力される線形予測係数 a 1 , a 2とを入力とし て入力音声信号に聴覚重み付けを行って開ループピッチ探索器 9に出力する。
L P C量子化器 7は、 L P C分析器 3から出力された線形予測係数を量子 化して量子化 L P Cを第 1の L P C補間器 1 0に出力し、 同時に量子化 L P Cの符号化データ Lを復号器に出力する。 第 2の L P C補間器 8は、 L P C 分析器 3から出力される L P Cを入力として第 1サブフレームの L P Cの補 間を行い第 1及び第 2サブフレームの未量子化 L P Cをそれぞれ a 1 , a 2 として出力する。 第 1の L P C補間器 1 0は、 L P C量子化器 7から出力さ れた量子化 L P Cを入力として第 1サブフレームの量子化 L P Cの補間を行 い第 1及び第 2サブフレームの量子化 L P Cをそれぞれ Q a 1 , Q a 2とし て出力する。
第 1のターゲット算出器 5は、 サブフレーム分割器 2によって分割された 第 1サブフレームのディジ夕ル音声信号、 直前の第 2サブフレームにおいて 第 2のフィルタ状態更新器 1 1から出力されたフィルタ状態 s t 1、 並びに 第 1サブフレームの量子化及び未量子化 L P Cである Q a 1及び a 1を入力 としてターゲットベクトルを算出して第 1の閉ループピッチ探索器 1 2、 第 1のターゲット更新器 1 3、 第 1のゲイン符号帳探索器 1 4、 及び第 1のフ ィルタ状態更新器 1 5に出力する。 第 2の夕ーゲットべクトル更新器 6は、 サブフレーム分割器 2から出力された第 2サブフレームのディジタル音声信 号、 現フレームの第 1サブフレームにおける第 1のフィル夕状態更新器 1 5 から出力されたフィルタ状態 s t 2、 並びに第 2サブフレームの量子化及び 未量子化 L P Cである q a 2及び a 2を入力としてターゲッ卜べクトルを算 出して第 2の閉ループピッチ探索器 1 6、 第 2のターゲット更新器 1 7、 第 2のゲイン符号帳探索器 1 8、 及び第 2のフィル夕状態更新器 1 1に出力す る。
開ループピッチ探索器 9は、 重み付け合成フィル夕 4から出力された重み 付け入力音声信号を入力としてピッチ周期性の抽出を行い開ループピッチ周 期を第 1の閉ループピッチ探索器 1 2に出力する。 第 1の閉ループピッチ採 索器 1 2は、 第 1のターゲットベクトル、 開ループピッチ、 適応符号べクト ル候補、 及びインパルス応答べクトルをそれぞれ第 1の夕一ゲット算出器 5 、 開ループピッチ探索器 9、 適応符号帳 1 9、 及び第 1のインパルス応答算出 器 2 0からそれぞれ入力して開ループピッチの近傍で閉ループピッチ探索を 行い閉ループピッチ P 1を第 2の閉ループピッチ探索器 1 6及び第 1のピッ チ周期化フィル夕 2 1及び復号器に出力し、 適応符号べクトルを第 1の音源 生成器 2 2に出力し、 適応符号べクトルに第 1のィンパルス応答を畳み込ん で得られた合成べクトルを第 1の夕一ゲット更新器 1 3、 第 1のゲイン符号 帳探索器 1 4、 及び第 1のフィルタ状態更新器 1 5に出力する。
第 1のターゲット更新器 1 3は、 第 1のターゲットベクトル及び第 1の適 応符号合成べクトルをそれぞれ第 1の夕一ゲット算出器 5及び第 1の閉ルー プピッチ採索器 1 2から入力して雑音符号帳用の夕ーゲットべクトルを算出 して第 1の雑音符号帳探索器 2 3に出力する。 第 1 のゲイン符号帳探索器 1 4は、 第 1のターゲットベクトル、 第 1の適応符号合成ベクトル、 及び第 1 の雑音符号合成ベクトルをそれぞれ第 1のターゲット算出器 5、 第 1の閉ル —プピッチ探索器 1 2、 及び第 1の雑音符号帳探索器 2 3からそれぞれ入力 してゲイン符号帳 2 9の中から最適な量子化ゲインを選択して第 1の音源生 成器 2 2及び第 1のフィルタ状態更新器 1 5に出力する。
第 1のフィル夕状態更新器 1 5は、 第 1のターゲットベクトル、 第 1の適 応符号合成ベクトル、 第 1の雑音符号合成ベクトル、 及び第 1の量子化ゲイ ンをそれぞれ第 1のターゲットベクトル算出器 5、 第 1の閉ループピッチ探 索器 1 2、 第 1の雑音符号帳探索器 2 3、 及び第 1のゲイン符号帳探索器 1 4からそれぞれ入力して合成フィルタの状態更新を行いフィル夕状態 s t 2 を出力する。 第 1のインパルス応答算出器 2 0は、 第 1サブフレームの未量 子化 L P Cである a 1及び第 1サブフレームの量子化 L P Cである q a 1を入 力とし、 聴覚重みづけフィルタと合成フィル夕とを縦続接続したフィル夕の ィンパルス応答を算出して第 1の閉ループピッチ探索器 1 2及び第 1のピッ チ周期化フィルタ 2 1に出力する。
第 1のピッチ周期化フィルタ 2 1は、 第 1の閉ループピッチ及び第 1のィ ンパルス応答べクトルをそれぞれ第 1の閉ループピッチ探索器 1 2及び第 1 のインパルス応答算出器 2 0から入力し、 第 1のインパルス応答べクトルを ピッチ周期化して第 1の雑音符号帳探索器 2 3に出力する。 第 1の雑音符号 帳探索器 2 3は、 第 1の夕ーゲット更新器 1 3から出力された更新後の第 1 のターゲッ トべクトル、 第 1のピッチ周期化フィル夕 2 1から出力された周 期化後の第 1のインパルス応答べクトル、 及び雑音符号帳 2 4から出力され る雑音符号べクトル候補を入力として、 雑音符号帳 2 4の中から最適な雑音 符号ベクトルを選択し、 選択した雑音符号ベクトルを周期化したベクトルを 第 1の音源生成器 2 2に出力し、 選択した雑音符号べクトルに周期化した第 1のィンパルス応答べクトルを畳み込んで得られた合成べクトルを第 1のゲ イン符号帳探索器 1 4及び第 1のフィルタ状態更新器 1 5に出力し、 選択し た雑音符号べクトルを表す符号 S 1を復号器に出力する。
雑音符号帳 2 4は、 所定の数の所定形状を有する雑音符号ベクトルを格納 し、 第 1の雑音符号帳探索器 2 3及び第 2の雑音符号帳探索器 2 5に雑音符 号べクトルを出力する。 第 1の音源生成器 2 2は、 適応符号ベクトル、 雑音符号ベクトル、 及び量 子化ゲインを第 1の閉ループピッチ探索器 1 2、 第 1の雑音符号帳探索器 2 3、 及び第 1のゲイン符号帳探索器 1 4から入力し、 音源ベクトルを生成し、 生成した音源ベクトルを適応符号帳 1 9に出力する。 適応符号帳 1 9は、 第 1の音源生成器 2 2及び第 2の音源生成器 2 6から交互に出力される音源べ クトルを入力として、 適応符号帳を更新し、 適応符号ベクトル候補を第 1の 閉ループピッチ探索器 1 2及び第 2の閉ループピッチ探索器 1 6に交互に出 力する。 ゲイン符号帳 2 9は、 予め用意された量子化ゲイン (適応符号べク トル成分及び雑音符号ベクトル成分) を格納し、 第 1のゲイン符号帳探索器 1 4及び第 2のゲイン符号帳探索器 1 8に出力する。
第 2の閉ループピッチ探索器 1 6は、 第 2のターゲットベクトル、 第 1サ ブフレームのピッチ、 適応符号ベクトル候補、 及びインパルス応答ベクトル をそれぞれ第 2のターゲット算出器 6、 第 1の閉ループピッチ探索器 1 2、 適応符号帳 1 9、 及び第 2のインパルス応答算出器 2 7からそれぞれ入力し て第 1サブフレームのピッチの近傍で閉ループピッチ探索を行い、 閉ループ ピッチ P 2を第 2のピッチ周期化フィル夕 2 8及び復号器に出力し、 適応符 号べクトルを第 2の音源生成器 2 6に出力し、 適応符号べクトルに第 2のィ ンパルス応答を畳み込んだ合成べクトルを第 2の夕一ゲット更新器 1 7、 第 2のゲイン符号帳探索器 1 8、 及び第 2のフィル夕状態更新器 1 1に出力す る。
第 2の夕ーゲット更新器 1 7は、 第 2の夕ーゲットべクトル及び第 2の適 応符号合成べクトルをそれぞれ第 2の夕ーゲット算出器 6及び第 2の閉ル一 プピッチ探索器 1 6から入力して雑音符号帳用の夕ーゲットべクトルを算出 して第 2の雑音符号帳探索器 2 5に出力する。 第 2のゲイン符号帳探索器 1 8は、 第 2のターゲットベクトル、 第 2の適応符号合成ベクトル、 及び第 2 の雑音符号合成べクトルをそれぞれ第 2の夕一ゲット算出器 6、 第 2の閉ル ープピッチ探索器 1 6、 及び第 2の雑音符号帳探索器 2 5からそれぞれ入力 し、 ゲイン符号帳 2 9の中から最適な量子化ゲインを選択して第 2の音源生 成器 2 6及び第 2のフィルタ状態更新器 1 1に出力する。
第 2のフィルタ状態更新器 1 1は、 第 2のターゲットベクトル、 第 2の適 応符号合成ベクトル、 第 2の雑音符号合成ベクトル、 及び第 2の量子化ゲイ ンをそれぞれ第 2のターゲットベクトル算出器 6、 第 2の閉ループピッチ探 索器 1 6、 第 2の雑音符号帳探索器 2 5、 及び第 2のゲイン符号帳探索器 1 8からそれぞれ入力して合成フィル夕の状態更新を行いフィル夕状態 s t 1 を出力する。
第 2のインパルス応答算出器 2 7は、 第 2サブフレームの未量子化 L P C である a 2及び第 2サブフレームの量子化 L P Cである q a 2を入力とし、 聴覚重みづけフィル夕と合成フィル夕とを縦続接続したフィル夕のインパル ス応答を算出し、 第 2の閉ループピッチ探索器 1 6及び第 2のピッチ周期化 フィル夕 2 8に出力する。 第 2のピッチ周期化フィル夕 2 8は、 第 2の閉ル ープピッチ及び第 2のィンパルス応答べクトルをそれぞれ第 2の閉ループピ ツチ探索器 1 6及び第 2のインパルス応答算出器 2 7から入力し、 第 2のィ ンパルス応答べクトルをピッチ周期化して第 2の雑音符号帳探索器 2 5に出 力する。
第 2の雑音符号帳探索器 2 5は、 第 2の夕一ゲット更新器 1 7から出力さ れた更新後の第 2のターゲットべクトル、 第 2のピッチ周期化フィル夕 2 8 から出力された周期化後の第 2のインパルス応答ベクトル、 及び雑音符号帳 2 4から出力される雑音符号べクトル候補を入力として、 雑音符号帳 2 4の 中から最適な雑音符号べクトルを選択し、 選択した雑音符号べクトルを周期 化して得たべクトルを第 2の音源生成器 2 6に出力し、 選択した雑音符号べ クトルに周期化した第 2のィンパルス応答べクトルを畳み込んで得た合成べ クトルを第 2のゲイン符号帳探索器 1 8及び第 2のフィル夕状態更新器 1 1 に出力し、 選択した雑音符号べクトルを表す符号 S 2を復号器にそれぞれ出 力する。 第 2の音源生成器 2 6は、 適応符号ベクトル、 雑音符号ベクトル、 及び量子化ゲインをそれぞれ第 2の閉ループピッチ探索器 16、 第 2の雑音 符号帳探索器 25、 及び第 2のゲイン符号帳探索器 1 8から入力し、 音源べ クトルを生成し、 生成した音源ベクトルを適応符号帳 19に出力する。
なお、 LP C量子化器 7から出力される LPCデータ L、 第 1の閉ループ ピッチ採索器 1 2から出力されるピッチ P 1、 第 1の雑音符号帳探索器 23 から出力される雑音符号べクトルデータ S 1、 第 1のゲイン符号帳探索器 1 4から出力されるゲインデータ G l、 第 2の閉ループピッチ探索器 16から 出力されるピッチ P 2、 第 2の雑音符号帳探索器 25から出力される雑音符 号べクトルデータ S 2、 及び第 2のゲイン符号帳探索器 18から出力される ゲインデータ G 2は、 符号化されビット列として伝送路を介して復号器に出 力される。 また、 第 2サブフレームの処理は、 第 1サブフレームの処理が全 て終わった後に行われ、 第 2サブフレームのピッチは、 第 1サブフレームの ピッチを用いて差分量子化される。
以下、 上記構成を有する CS— AC ELP音声符号化装置の動作を図 1を 参照して説明する。 まず、 図 1において、 音声信号は、 入力バッファ 1に入 力される。 入力バッファ 1は、 入力された符号化対象となるディジタル音声 信号を 1フレーム (1 0ms) 単位で更新し、 サブフレーム分割器 2、 LP C分析器 3、 及び重み付け合成フィルタ 4に対して必要なバッファリングデ 一夕を供給する。
LPC分析器 3では、 入力バッファ 1から供給されたデ一夕を用いて線形 予測分析を行い、 線形予測係数 (LPC) を算出し、 L PC量子化器 7及び 第 2の L PC補間器 8に出力する。 LPC量子化器 7では、 LPCを LS P 領域に変換して量子化を行い、 量子化し S Pを第 1の L P C補間器 10に出 力する。 第 1の LPC補間器 10では、 入力された量子化 L S Pを第 2サブ フレームの量子化 L S Pとし、 第 1サブフレームの量子化 L S Pは、 直前の フレームの第 2サブフレームの量子化 L S Pを用いて線形補間によって補間 される。 得られた第 1及び第 2サブフレームの量子化 L S Pは、 L PCに変換され た後、 量子化 L P Cとしてそれぞれ q a 1 , Q a 2として出力される。 第 2 の L P C補間器 8では、 入力された未量子化 LPCを L S Pに変換した後、 第 1の LP C補間器 10と同様に第 1サブフレームの L SPが補間され、 第 1及び第 2サブフレームの L SPが決定された後に LP Cに変換され、 その 後未量子化 LP Cとしてそれぞれ a 1, a 2として出力される。
重み付け合成フィルタ 4では、 量子化対象となるディジ夕ルデータ列を 1 フレーム分 (10ms) 入力バッファ 1から入力し、 未量子化 LP Cである ai, a2 を用いて構成された重み付け合成フィルタ 4でフィル夕リングする ことによって重み付け入力音声信号を算出し、 開ループピッチ探索器 9に出 力する。
開ループピッチ探索器 9では、 過去に生成した重み付け入力音声信号をバ ッファリングしており、 新たに生成した重み付け入力音声信号をバッファに 付け加えたデ一夕列から正規化自己相関関数を求め、 これに基づいて重み付 け入力音声信号の周期を抽出する。 抽出された周期は、 第 1の閉ル一プピッ チ探索器 12に出力される。
サブフレーム分割器 2では、 入力バッファから符号化対象となる 1フレー ム分のディジ夕ル信号列を入力して、 これを 2つのサブフレームに分割し、 第 1サブフレーム (時間的に前のサブフレーム) を第 1のターゲット算出器 5に、 第 2サブフレーム (時間的に後のサブフレーム) を第 2のターゲット 算出器 6に、 それぞれ供給する。
第 1の夕ーゲット算出器 5では、 第 1サブフレームの量子化 LP Cである q a 1と未量子化 LPCである a 1とを用いて量子化合成フィル夕と重み付 け合成フィルタとを構成し、 直前のフレームの第 2サブフレームにおいて第 2のフィル夕状態更新器 1 1で求められたフィル夕状態 s t 1を用いて量子 化合成フィルタの零入力応答を除去した後の重み付け入力音声信号 (夕—ゲ ッ卜ベクトル) を算出し、 第 1の閉ル一プピッチ探索器 12、 第 1のターゲ ットベクトル更新器 1 3、 第 1のゲイン符号帳探索器 1 4、 及び第 1のフィ ル夕状態更新器 1 5にターゲットべクトルを出力する。
第 1のインパルス応答算出器 2 0では、 量子化 L P Cである q a 1を用い て構成された量子化合成フィルタと未量子化 L P Cである a 1を用いて構成 された重み付け合成フィルタとを縦続接続したフィルタのィンパルス応答を 求め、 第 1の閉ループピッチ探索器 1 2及び第 1のピッチ周期化フィル夕 2 1に出力する。 第 1の閉ループピッチ探索器 1 2では、 適応符号帳 1 9の中 から取り出した適応符号べクトルに第 1のィンパルス応答を畳み込むことに より、 重み付け合成音声ベクトル (適応符号帳成分) を算出し、 この値と第 1の夕一ゲットべクトルとの誤差を最小とする適応符号べクトルを生成する ピッチを抽出する。 この時行われるピッチ探索は、 開ループピッチ探索器 9 から入力された開ループピッチの近傍についてのみ行われる。
求められたピッチによって生成される適応符号べクトルは、 第 1の音源生 成器 2 2に出力されて音源べクトルの生成に用いられ、 適応符号べクトルに インパルス応答を畳み込んで生成される第 1の適応符号合成ベクトルは、 第 1のターゲット更新器 1 3、 第 1のゲイン符号帳探索器 1 4、 及び第 1のフ ィル夕状態更新器 1 5に出力される。 第 1のターゲット更新器 1 3では、 第 1の夕ーゲット算出器 5の出力である第 1の夕一ゲットべクトルから、 第 1 の閉ループピッチ探索器 1 2の出力である第 1の適応符号合成べクトルに最 適ゲインを乗じたものを減じて第 1の雑音符号帳探索用夕一ゲッ卜べクトル を算出し、 この算出結果を第 1の雑音符号帳探索器 2 3に出力する。
第 1の雑音符号帳探索器 2 3は、 雑音符号帳 2 4の中から取り出した雑音 符号べクトルに第 1のピッチ周期化フィル夕 2 1から入力したピッチ周期化 後の第 1のインパルス応答を畳み込むことにより、 重み付け合成音声べクト ル (雑音符号帳成分) を算出し、 第 1の雑音符号帳用ターゲットベクトルと の誤差を最小とする雑音符号べクトルを選び出す。 選ばれた雑音符号べクト ルはピッチ周期化フィル夕によって周期化されて第 1の音源生成器 2 2に出 力され音源ベクトルの生成に用いられる。 また、 雑音符号ベクトルにピッチ 周期化後のィンパルス応答を畳み込んで生成される第 1の雑音符号合成べク トルは、 第 1のゲイン符号帳探索器 1 4及び第 1のフィル夕状態更新器 1 5 に出力される。
第 1のピッチ周期化フィルタ 2 1は、 入力データを X ( n ) , n = 0 , 1 , ···, 3 9 (サブフレーム長一 1 ) 、 ピッチ周期を Tとし、 周期化ゲインを /3 とすると、 下記式 1に示すように、 第 1のインパルス応答算出器 2 0から入 力したィンパルス応答にフィル夕をかけ、 第 1の雑音符号帳探索器 2 3に出 力する。
X ( n ) = x ( n ) + i3 X x ( n - T) , n≥T 式 1 このフィル夕に用いられるピッチ周期 Tは、 第 1の閉ループピッチ探索器 1 2から入力される P 1である。 第 1のゲイン符号帳探索器 1 4は、 第 1の ターゲット算出器 5、 第 1の閉ループピッチ探索器 1 2、 及び第 1の雑音符 号帳探索器 2 3から第 1の夕ーゲットべクトル、 第 1の適応符号合成べク卜 ル、 及び第 1の雑音符号合成ベクトルをそれぞれ入力し、 第 1のターゲット べクトルと、 第 1の適応符号合成べクトルに量子化適応符号ゲインを乗じた もの及び第 1の雑音符号合成べクトルに量子化雑音符号ゲインを乗じたもの の和のべクトルとの 2乗誤差が最小となる、 量子化適応符号ゲインと量子化 雑音符号ゲインとの組合わせをゲイン符号帳 2 9の中から選択する。
選択された量子化ゲインは、 第 1の音源生成器 2 2及び第 1のフィルタ状 態更新器 1 5に出力され、 音源べクトルの生成及び合成フィルタの状態更新 に用いられる。 第 1の音源生成器 2 2は、 第 1の閉ループピッチ探索器 1 2 から入力される適応符号べクトルと、 第 1の雑音符号帳探索器 2 3から入力 されるピッチ周期化後の雑音符号べクトルとに、 第 1のゲイン符号帳探索器 1 4から入力される量子化ゲイン (適応符号帳成分) 及び量子化ゲイン (雑 音符号帳成分) をそれぞれ乗じ、 量子化ゲイン乗算後の適応符号ベクトルと 雑音符号べクトルの加算を行って第 1サブフレームの音源べクトルを生成す る。
生成された第 1サブフレームの音源べクトルは、 適応符号帳に出力されて 適応符号帳が更新される。 第 1のフィル夕状態更新器 1 5は、 量子化合成フ ィルタ及び重み付け合成フィルタを縦続接続したフィル夕の状態を更新する。 フィル夕の状態は、 第 1のターゲット算出器 5から入力されるターゲットべ クトルから、 量子化ゲイン (適応符号帳成分) を乗じた適応符号合成べクト ル及び量子化ゲイン (雑音符号帳成分) を乗じた雑音符号合成ベクトルを、 減じることによって求められる。 求められたフィルタ状態は、 s t 2として 出力され、 第 2サブフレームのフィル夕状態として用いられ、 第 2のターゲ ット算出器 6で使用される。
第 2の夕ーゲット算出器 6は、 第 2サブフレームの量子化 L P Cである Q a 2及び未量子化 L P Cである a 2を用いて、 量子化合成フィル夕及び重み 付け合成フィルタを構成し、 第 1サブフレームにおいて第 1のフィルタ状態 更新器 1 5で求められたフィル夕状態 s t 2を用いて量子化合成フィル夕の 零入力応答を除去した後の重み付け入力音声信号 (ターゲットベクトル) を 算出し、 第 2の閉ループピッチ探索器 1 6、 第 2のターゲットベクトル更新 器 1 7、 第 2のゲイン符号帳探索器 2 5、 及び第 2のフィル夕状態更新器 1 1に第 2の夕ーゲットべクトルを出力する。
第 2のィンパルス応答算出器 2 7は、 量子化 L P Cである Q a 2を用いて 構成された量子化合成フィルタと、 未量子化 L P Cである a 2を用いて構成 された重み付け合成フィルタとを縦続接続したフィル夕のィンパルス応答を 求め、 第 2の閉ループピッチ探索器 1 6及び第 2のピッチ周期化フィルタ 2 8に出力する。 第 2の閉ループピッチ探索器 1 6は、 適応符号帳 1 9の中か ら取り出した適応符号べクトルに第 2のィンパルス応答を畳み込むことによ り、 重み付け合成音声ベクトル (適応符号帳成分) を算出し、 第 2のターゲ ットべクトルとの誤差を最小とする適応符号べクトルを生成するピッチを抽 出する。 この時行われるピッチ探索は、 第 1の閉ループピッチ探索器 1 2か ら入力される第 1サブフレームのピッチ P 1の近傍についてのみ行われる。 求められたピッチによって生成される適応符号べクトルは、 第 2の音源生 成器 2 6に出力されて音源べクトルの生成に用いられ、 適応符号べクトルに インパルス応答を畳み込んで生成される第 2の適応符号合成ベクトルは、 第 2のターゲット更新器 1 7、 第 2のゲイン符号帳探索器 1 8、 及び第 2のフ ィル夕状態更新器 1 1に出力される。 第 2のターゲット更新器 1 7は、 第 2 の夕ーゲット算出器 6より出力された第 2の夕一ゲットべクトルから、 第 2 の閉ループピッチ探索器 1 6より出力された第 2の適応符号合成べクトルに 最適ゲインを乗じたものを減じて第 2の雑音符号帳探索用夕一ゲットべク卜 ルを算出し、 第 2の雑音符号帳探索器 2 5に出力する。
第 2の雑音符号帳探索器 2 5は、 雑音符号帳 2 4の中から取り出した雑音 符号べクトルに、 第 2のピッチ周期化フィル夕 2 8から入力したピッチ周期 化後の第 2のィンパルス応答を畳み込むことにより、 重み付け合成音声べク トル (雑音符号帳成分) を算出し、 第 2の雑音符号帳用ターゲットベクトル との誤差を最小とする雑音符号ベクトルを選び出す。 選ばれた雑音符号べク トルは、 第 2のピッチ周期化フィルタによって周期化されて第 2の音源生成 器 2 6に出力され、 音源ベクトルの生成に用いられる。
また、 雑音符号べクトルにピッチ周期化後のインパルス応答を畳み込んで 生成される第 2の雑音符号合成べクトルは、 第 2のゲイン符号帳探索器 1 8 及び第 2のフィルタ状態更新器 1 1に出力される。 第 2のピッチ周期化フィ ル夕 2 8は、 入力データを X ( n ) , n = 0 , 1, …, 3 9 (サブフレーム 長一 1 ) 、 ピッチ周期を Tとし、 周期化ゲインを ]3とすると、 上記式 1に示 すフィルタを第 2のィンパルス応答算出器 2 7から入力したィンパルス応答 にかけ、 第 2の雑音符号帳探索器 2 5に出力する。
このフィル夕に用いられるピッチ周期 Tは、 第 2の開ループピッチ探索器 1 6から入力される P 2である。 第 2のゲイン符号帳探索器 1 8は、 第 2の ターゲット算出器 6、 第 2の閉ループピッチ探索器 1 6、 及び第 2の雑音符 W /JP
14
号帳探索器 2 5から第 2のタ一ゲッ卜べクトル、 第 2の適応符号合成べク卜 ル、 及び第 2の雑音符号合成ベクトルをそれぞれ入力し、 第 2のターゲット べクトルと、 第 2の適応符号合成べクトルに量子化適応符号ゲインを乗じた もの及び第 2の雑音符号合成べクトルに量子化雑音符号ゲインを乗じたもの の和のベクトルとの 2乗誤差が最小となる、 量子化適応符号ゲインと量子化 雑音符号ゲインとの組合わせをゲイン符号帳 2 9の中から選択する。
選択された量子化ゲインは、 第 2の音源生成器 2 6及び第 2のフィル夕状 態更新器 1 1に出力され、 音源ベクトルの生成及び合成フィル夕の状態更新 に用いられる。 第 2の音源生成器 2 6は、 第 2の閉ループピッチ探索器 1 6 から入力される適応符号ベクトルと、 第 2の雑音符号帳探索器 2 5から入力 されるピッチ周期化後の雑音符号べクトルとに、 第 2のゲイン符号帳探索器 1 8から入力される量子化ゲイン (適応符号帳成分) 及び量子化ゲイン (雑 音符号帳成分) をそれぞれ乗じ、 量子化ゲイン乗算後の適応符号ベクトルと 雑音符号べクトルの加算を行って第 2サブフレームの音源べクトルを生成す る。 生成された第 2サブフレームの音源ベクトルは、 適応符号帳 1 9に出力 されて適応符号帳を更新する。
第 2のフィル夕状態更新器 1 1は、 量子化合成フィル夕及び重み付け合成 フィル夕を縦続接続したフィルタの状態を更新する。 フィル夕の状態は、 第 2の夕ーゲット算出器 6から入力されるターゲットべクトルから、 量子化ゲ イン (適応符号帳成分) を乗じた適応符号合成ベクトル及び量子化ゲイン (雑 音符号帳成分) を乗じた雑音符号合成ベクトルを、 減じることによって求め られる。 求められたフィル夕状態は s t 1として出力され、 次のフレームの 第 1サブフレームのフィルタ状態として用いられ、 第 1の夕一ゲット算出器 5で使用される。 なお、 適応符号帳 1 9は、 第 1の音源生成器 2 2及び第 2 の音源生成器 2 6によって生成される音源信号を時間的に並べてバッファリ ングしたものであり、 閉ループピッチ探索の探索に必要な長さだけ過去に生 成した音源信号を蓄えている。 適応符号帳の更新はサブフレーム毎に 1回行われ、 適応符号帳のバッファ を 1サブフレーム分シフトした後、 新たに生成しされた音源信号がバッファ の最後にコピーされる。 なお、 サブフレーム分割器 2によって分割された量 子化対象信号のうち、 第 1サブフレームの符号化処理が先に行われ、 第 1サ ブフレームの符号化処理がすべて終わった後に、 第 2サブフレームの符号化 処理が行われ、 第 2サブフレームで出力されるピッチ P 2は、 第 1サブフレ ームで出力されるピッチ P 1を用いて差分量子化されて復号器側へ伝送され る。
1フレームの処理が終わると、 L P C量子化器 7から出力される L P Cデ 一夕 L、 第 1の閉ループピッチ探索器 1 2から出力されるピッチ P 1、 第 1 の雑音符号帳探索器 2 3から出力される雑音符号べクトルデータ S 1、 第 1 のゲイン符号帳探索器 1 4から出力されるゲインデ一夕 G 1、 第 2の閉ルー プピッチ探索器 1 6から出力されるピッチ P 2、 第 2の雑音符号帳探索器 2 5から出力される雑音符号べクトルデ一夕 S 2、 及び第 2のゲイン符号帳探 索器 1 8から出力されるゲインデータ G 2が符号化され、 ビット列として伝 送路を介して復号器に出力される。
しかしながら、 上記従来の音声符号化装置においては、 ピッチの候補が開 ループピッチ探索によって 1候補のみに絞られているため、 最終的に決定さ れるピッチが必ずしも最適なものでないという問題を有する。 この問題を解 決するには、 開ループピッチ探索において 2候補以上のピッチ候補を出力し、 それらの候補について閉ループピッチ探索を行うことが考えられるが、 上記 符号化装置ではサブフレーム間でピッチの差分量子化を行っているため、 第 1サブフレームにのみ最適なピッチが選択されてしまう問題がある。 発明の開示
本発明の目的は、 サブフレーム間でピッチ情報の差分量子化を行う音声符 号化装置において、 ピッチの差分量子化に悪影響を与えずにピッチ探索 (適 応符号帳探索) の精度を向上させることである。
本発明の主題は、 フレームピッチ探索時に有効なピッチ候補が複数ある場 合は複数のピッチ候補を出力することである。 すなわち、 本発明は、 C E L P型音声符号化装置において、 単位フレームを分割して得られるサブフレー ムのうち、 適応符号帳のピッチが差分量子化されていないサブフレームにお ける適応符号帳のピッチの予備選択を行い、 少なくとも 1つのピッチ候補を 適応的に選択するピッチ候補選択手段を備える C E L P型音声符号化装置を 提供する。 図面の簡単な説明
図 1は、 従来の音声符号化装置の構成を示すブロック図;
図 2は、 従来のピッチ候補選択器の処理を示すフローチャート;
図 3は、 本発明の実施の形態 1に係る音声符号化装置の構成を示すプロッ ク図;
図 4は、 上記実施の形態におけるピッチ候補選択器の構成を示すブロック 図;
図 5は、 上記実施の形態におけるピッチ候補選択器の処理を示すフローチ ヤー卜 ;
図 6は、 上記実施の形態における音声復号化装置の構成を示すブロック図; 図 7は、 本発明の実施の形態 2に係る音声符号化装置の構成を示すブロッ ク図;
図 8は、 上記実施の形態におけるピツチ候補選択器の構成を示すプロック 図;
図 9は、 上記実施の形態におけるピッチ候補選択器の処理を示すフローチ ヤート ;
図 1 0は、 上記実施の形態における音声復号化装置の構成を示すブロック 図;並びに 図 1 1は、 本発明の音声符号化装置を備えた送信装置及び受信装置の構成 を示すブロック図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 添付図面を参照して詳細に説明する。
(実施の形態 1 )
図 3は、 本発明の実施の形態 1に係る音声符号化装置の構成を示すプロッ ク図である。 図 3において、 入力バッファ 1 0 1は、 入力ディジタル音声信 号を 1フレーム分づっ更新しながら符号化に必要な長さのデータをバッファ リングしてサブフレーム分割器 1 0 2及び L P C分析器 1 0 3と重み付け合 成フィル夕 1 0 4に必要なデ一夕を出力する。
サブフレーム分割器 1 0 2は、 入力バッファから入力した 1フレーム分の 入力ディジタル信号を 2つのサブフレームに分割し、 第 1サブフレームの信 号を第 1の夕ーゲット算出器 1 0 5に出力し、 第 2サブフレームの信号を第 2のターゲット算出器 1 0 6に出力する。 L P C分析器 1 0 3は、 入力バッ ファ 1 0 1から分析に必要なディジタル音声信号を入力して L P C分析を行 い、 線形予測係数を L P C量子化器 1 0 7及び第 2の L P C補間器 1 0 8に 出力する。
重み付け合成フィルタ 1 0 4は、 入力バッファ 1 0 1から入力した 1フレ ーム分のディジタル音声信号及び第 2の L P C補間器 1 0 8から出力される 線形予測係数 a 1, a 2を入力し、 入力音声信号に聴覚重み付けを行ってピ ツチ候補選択器 1 0 9に出力する。 L P C量子化器 1 0 7は、 L P C分析器 1 0 3から出力された線形予測係数を量子化し、 量子化 L P Cを第 1の L P C補間器 1 1 0に出力し、 同時に量子化 L P Cの符号化データ Lを復号器に 出力する。
第 2の L P C補間器 1 0 8は、 L P C分析器 1 0 3から出力される L P C を入力として第 1サブフレームの L P Cの補間を行い、 第 1及び第 2サブフ レームの L P Cをそれぞれ a 1, a 2として出力する。 第 1の L P C補間器 1 1 0は、 L P C量子化器 1 0 7から出力された量子化 L P Cを入力し、 第 1サブフレームの量子化 L P Cの補間を行い、 第 1及び第 2サブフレームの 量子化 L P Cをそれぞれ q a 1, q a 2として出力する。 第 1のターゲット 算出器 1 0 5は、 サブフレーム分割器 1 0 2によって分割された第 1サブフ レームのディジタル音声信号、 直前の第 2サブフレームにおいて第 2のフィ ルタ状態更新器 1 1 1から出力されたフィルタ状態 s t 1、 並びに第 1サブ フレームの量子化及び未量子化 L P Cである Q a 1及び a 1を入力し、 夕一 ゲットべクトルを算出して、 第 1の閉ループピッチ探索器 1 1 2、 第 1の夕 ーゲット更新器 1 1 3、 第 1のゲイン符号帳探索器 1 1 4、 及び第 1のフィ ル夕状態更新器 1 1 5に出力する。
第 2のターゲット算出器 1 0 6は、 サブフレーム分割器 1 0 2から出力さ れた第 2サブフレームのディジ夕ル音声信号、 現フレームの第 1サブフレー ムにおける第 1のフィルタ状態更新器 1 1 5から出力されたフィル夕状態 s t 2、 並びに第 2サブフレームの量子化及び未量子化 L P Cである q a 2及 び a 2を入力し、 夕ーゲッ卜べクトルを算出して第 2の閉ループピッチ探索 器 1 1 6、 第 2の夕ーゲット更新器 1 1 7、 第 2のゲイン符号帳探索器 1 1 8、 及び第 2のフィル夕状態更新器 1 1 1に出力する。
ピッチ候補選択器 1 0 9は、 重み付け合成フィル夕 1 0 4から出力された 重み付け入力音声信号を入力し、 ピッチ周期性の抽出を行い、 ピッチ周期候 補を第 1の閉ループピッチ探索器 1 1 2に出力する。 第 1の閉ループピッチ 探索器 1 1 2は、 第 1のターゲットベクトル、 ピッチ候補、 適応符号べクト ル候補、 及びィンパルス応答べクトルをそれぞれ第 1の夕一ゲットべクトル 算出器 1 0 5、 ピッチ候補選択器 1 0 9、 適応符号帳 1 1 9、 及び第 1のィ ンパルス応答算出器 1 2 0からそれぞれ入力して、 各ピッチ候補の近傍で閉 ループピッチ探索を行い閉ループピッチを第 2の閉ループピッチ探索器 1 1 6及び第 1のピッチ周期化フィル夕 1 2 1に出力し、 適応符号べクトルを第 1の音源生成器 1 2 2に出力し、 適応符号べクトルに第 1のィンパルス応答 を畳み込んだ合成べクトルを第 1のターゲット更新器 1 1 3、 第 1のゲイン 符号帳探索器 1 1 4、 及び第 1のフィルタ状態更新器 1 1 5に出力する。 第 1のターゲット更新器 1 1 3は、 第 1のターゲットベクトル及び第 1の 適応符号合成べクトルをそれぞれ第 1の夕一ゲット算出器 1 0 5及び第 1の 閉ループピッチ探索器 1 1 2から入力して、 雑音符号帳用のターゲットべク トルを算出して第 1の雑音符号帳探索器 1 2 3に出力する。 第 1のゲイン符 号帳探索器 1 1 4は、 第 1のターゲットベクトル、 第 1の適応符号合成べク トル、 及び第 1の雑音符号合成べクトルをそれぞれ第 1の夕ーゲット算出器 1 0 5、 第 1の閉ループピッチ探索器 1 1 2、 及び第 1の雑音符号帳探索器 1 2 3からそれぞれ入力して、 ゲイン符号帳 1 2 9の中から最適な量子化ゲ インを選択して第 1の音源生成器 1 2 2及び第 1のフィル夕状態更新器 1 1 5に出力する。
第 1のフィル夕状態更新器 1 1 5は、 第 1の夕一ゲットべクトル、 第 1の 適応符号合成ベクトル、 第 1の雑音符号合成ベクトル、 及び第 1の量子化ゲ ィンをそれぞれ第 1の夕ーゲットべクトル算出器 1 0 5、 第 1の閉ループピ ツチ探索器 1 1 2、 第 1の雑音符号帳探索器 1 2 3、 及び第 1のゲイン符号 帳採索器 1 1 4からそれぞれ入力し、 合成フィル夕の状態更新を行い、 フィ ルタ状態 s t 2を出力する。 第 1のィンパルス応答算出器 1 2 0は、 第 1サ ブフレームの L P Cである a 1及び第 1サブフレームの量子化 L P Cである q a 1を入力し、 聴覚重みづけフィル夕及び合成フィル夕を縦続接続したフ ィル夕のインパルス応答を算出し、 第 1の閉ループピッチ探索器 1 1 2及び 第 1のピッチ周期化フィル夕 1 2 1に出力する。
第 1のピッチ周期化フィル夕 1 2 1は、 第 1の閉ループピッチ及び第 1の インパルス応答べクトルをそれぞれ第 1の閉ループピッチ探索器 1 1 2及び 第 1のインパルス応答算出器 1 2 0から入力し、 第 1のインパルス応答べク トルをピッチ周期化して第 1の雑音符号帳探索器 1 2 3に出力する。 第 1の 雑音符号帳探索器 1 2 3は、 第 1のターゲット更新器 1 1 3から出力された 更新後の第 1のターゲットべクトル、 第 1のピッチ周期化フィル夕 1 2 1か ら出力された周期化後の第 1のインパルス応答べクトル、 及び雑音符号帳 1 2 4から出力される雑音符号ベクトル候補を入力し、 雑音符号帳 1 2 4の中 から最適な雑音符号ベクトルを選択し、 選択した雑音符号ベクトルを周期化 したべクトルを第 1の音源生成器 1 2 2に出力し、 選択した雑音符号べクト ルに周期化した第 1のィンパルス応答べクトルを畳み込んだ合成べクトルを 第 1のゲイン符号帳探索器 1 1 4及び第 1のフィル夕状態更新器 1 1 5に出 力し、 選択した雑音符号べクトルを表す符号 S 1を復号器に出力する。
雑音符号帳 1 2 4は、 予め定められた数の予め定められた形状を有する雑 音符号べクトルを格納し、 第 1の雑音符号帳探索器 1 2 3及び第 2の雑音符 号帳探索器 1 2 5に雑音符号べクトルを出力する。 第 1の音源生成器 1 2 2 は、 適応符号ベクトル、 雑音符号ベクトル、 及び量子化ゲインをそれぞれ第 1の閉ループピッチ探索器 1 1 2、 第 1の雑音符号帳探索器 1 2 3、 及び第 1のゲイン符号帳探索器 1 1 4から入力し、 音源ベクトルを生成し、 生成し た音源べクトルを適応符号帳 1 1 9に出力する。
適応符号帳 1 1 9は、 第 1の音源生成器 1 2 2及び第 2の音源生成器 1 2 6から交互に出力される音源ベクトルを入力し、 適応符号帳を更新し、 適応 符号べクトル候補を第 1の閉ループピッチ探索器 1 1 2及び第 2の閉ループ ピッチ探索器 1 1 6に交互に出力する。 ゲイン符号帳 1 2 9は、 予め用意さ れた量子化ゲイン (適応符号ベクトル成分と雑音符号ベクトル成分) を格納 し、 第 1のゲイン符号帳探索器 1 1 4及び第 2のゲイン符号帳探索器 1 1 8 に出力する。
第 2の閉ループピッチ探索器 1 1 6は、 第 2のターゲットベクトル、 第 1 サブフレームのピッチ、 適応符号ベクトル候補、 及びインパルス応答べクト ルをそれぞれ第 2のターゲット算出器 1 0 6、 第 1の閉ループピッチ探索器 1 1 2、 適応符号帳 1 1 9、 及び第 2のインパルス応答算出器 1 2 7からそ れぞれ入力して、 第 1サブフレームのピッチの近傍で閉ル一プピッチ探索を 行い、 閉ループピッチを第 2のピッチ周期化フィル夕 1 2 8及び復号器に出 力し、 適応符号ベクトルを第 2の音源生成器 1 2 6に出力し、 適応符号べク トルに第 2のインパルス応答を畳み込んだ合成べクトルを第 2の夕ーゲット 更新器 1 1 7、 第 2のゲイン符号帳探索器 1 1 8、 及び第 2のフィルタ状態 更新器 1 1 1に出力する。
第 2のターゲット更新器 1 1 7は、 第 2のターゲットべクトル及び第 2の 適応符号合成べクトルをそれぞれ第 2のターゲット算出器 1 0 6及び第 2の 閉ループピッチ探索器 1 1 6から入力して雑音符号帳用の夕ーゲッ卜べクト ルを算出して、 第 2の雑音符号帳探索器 1 2 5に出力する。 第 2のゲイン符 号帳探索器 1 1 8は、 第 2のターゲットベクトル、 第 2の適応符号合成べク トル、 及び第 2の雑音符号合成べクトルをそれぞれ第 2のターゲット算出器 1 0 6、 第 2の閉ループピッチ探索器 1 1 6、 及び第 2の雑音符号帳探索器 1 2 5からそれぞれ入力して、 ゲイン符号帳 1 2 9の中から最適な量子化ゲ インを選択して第 2の音源生成器 1 2 6及び第 2のフィル夕状態更新器 1 1 1に出力する。
第 2のフィル夕状態更新器 1 1 1は、 第 2のターゲットベクトル、 第 2の 適応符号合成ベクトル、 第 2の雑音符号合成ベクトル、 及び第 2の量子化ゲ インをそれぞれ第 2の夕ーゲット算出器 1 0 6、 第 2の閉ループピッチ採索 器 1 1 6、 第 2の雑音符号帳探索器 1 2 5、 及び第 2のゲイン符号帳探索器 1 1 8からそれぞれ入力して合成フィルタの状態更新を行い、 フィル夕状態 s t 1を出力する。 第 2のインパルス応答算出器 1 2 7は、 第 2サブフレー ムの L P Cである a 2及び第 2サブフレームの量子化 L P Cである q a 2を 入力として、 聴覚重みづけフィル夕と合成フィル夕とを縦続接続したフィル 夕のインパルス応答を算出し、 第 2の閉ループピッチ探索器 1 1 6及び第 2 のピッチ周期化フィルタ 1 2 8に出力する。
第 2のピッチ周期化フィルタ 1 2 8は、 第 2の閉ループピッチ及び第 2の インパルス応答べクトルをそれぞれ第 2の閉ループピッチ探索器 1 1 6及び 第 2のインパルス応答算出器 1 2 7から入力し、 第 2のインパルス応答べク トルをピッチ周期化して第 2の雑音符号帳探索器 1 2 5に出力する。 第 2の 雑音符号帳探索器 1 2 5は、 第 2のターゲット更新器 1 1 7から出力された 更新後の第 2のターゲットベクトル、 第 2のピッチ周期化フィルタ 1 2 8か ら出力された周期化後の第 2のインパルス応答べクトル、 及び雑音符号帳 1 2 4から出力される雑音符号べクトル候補を入力として、 雑音符号帳 1 2 4 の中から最適な雑音符号べクトルを選択し、 選択した雑音符号べクトルを周 期化したべクトルを第 2の音源生成器 1 2 6に出力し、 選択した雑音符号べ クトルに周期化した第 2のインパルス応答べクトルを畳み込んだ合成べクト ルを第 2のゲイン符号帳探索器 1 1 8及び第 2のフィル夕状態更新器 1 1 1 に出力し、 選択した雑音符号べクトルを表す符号 S 2を復号器に出力する。 第 2の音源生成器 1 2 6は、 適応符号ベクトル、 雑音符号ベクトル、 及び量 子化ゲインをそれぞれ第 2の閉ループピッチ探索器 1 1 6、 第 2の雑音符号 帳探索器 1 2 5、 及び第 2のゲイン符号帳探索器 1 1 8から入力し、 音源べ クトルを生成し、 生成した音源ベクトルを適応符号帳 1 1 9に出力する。 なお、 L P C量子化器 1 0 7から出力される L P Cデータ L、 第 1の閉ル ープピッチ探索器 1 1 2から出力されるピッチ P 1、 第 1の雑音符号帳探索 器 1 2 3から出力される雑音符号べクトルデータ S 1、 第 1のゲイン符号帳 探索器 1 1 4から出力されるゲインデータ G l、 第 2の閉ループピッチ採索 器 1 1 6から出力されるピッチ P 2、 第 2の雑音符号帳探索器 1 2 5から出 力される雑音符号べクトルデ一夕 S 2、 及び第 2のゲイン符号帳探索器 1 1 8から出力されるゲインデータ G 2は、 符号化され、 ビット列として伝送路 を介して復号器に出力される。 また、 第 2サブフレームの処理は、 第 1サブ フレームの処理が全て終わった後に行われ、 第 2サブフレームのピッチ P 2 は、 第 1サブフレームのピッチ P 1を用いて差分量子化される。
以上のように構成された音声符号化装置の動作を図 3から図 5を参照して 説明する。 まず、 図 3において、 音声信号は入力バッファ 10 1に入力され る。 入力バッファ 10 1は、 入力された符号化対象となるディジタル音声信 号を 1フレーム (1 0ms) 単位で更新し、 サブフレーム分割器 102、 L PC分析器 1 03、 及び重み付け合成フィル夕 104に対して必要なバッフ ァリングデ一夕を供給する。
?(:分析器103は、 入力バッファ 1 0 1から供給されたデータを用い て線形予測分析を行い、 線形予測係数 (LPC) を算出し、 L PC量子化器 107及び第 2の LP C補間器 108に出力する。 L PC量子化器 107は、 L P Cを L S P領域に変換して量子化を行い、 量子化し S Pを第 1の L P C 補間器 1 1 0に出力する。 第 1の LP C補間器は、 入力された量子化 L S P を第 2サブフレームの量子化 L S Pとし、 直前のフレームの第 2サブフレー ムの量子化 L S Pを用いて第 1サブフレームの量子化 L S Pを線形補間によ つて補間する。
得られた第 1及び第 2サブフレームの量子化 L S Pは、 L P Cに変換され た後、 量子化 L PCとしてそれぞれ q a 1, Q a 2として出力される。 第 2 の LP C補間器 108では、 入力された未量子化 L P Cを L S Pに変換した 後、 第 1の LPC補間器 1 1 0と同様に第 1サブフレームの L S Pが補間さ れ、 第 1及び第 2サブフレームの L S Pが決定された後、 L PCに変換後、 未量子化 LP Cとしてそれぞれ a 1, a 2として出力される。
重み付け合成フィルタ 104は、 入力バッファ 10 1から量子化対象とな るディジタルデータ列を 1フレーム分 (10ms) 入力し、 未量子化 LP C である ai, a 2 を用いて構成された重み付け合成フィル夕でフィルタリング することによって重み付け入力音声信号を算出し、 ピッチ候補選択器 109 に出力する。
ピッチ候補選択器 109は、 過去に生成した重み付け入力音声信号をバッ ファリングしており、 新たに生成した重み付け入力音声信号をバッファに付 け加えたデータ列から正規化自己相関関数を求め、 これに基づいて重み付け 入力音声信号の周期を抽出する。 この時、 正規化自己相関関数が大きいもの から順に、 定められた数以下のピッチ候補が選択される。 選択は正規化自己 相関関数を用いて行われ、 正規化自己相関関数の最大値に予め定められた閾 値係数 (例えば 0 . 7 ) を乗じた値以上の正規化自己相関関数を与えるピッ チ候補のみが出力されるように選択が行われる。 G . 7 2 9においては、 開 ループピッチ探索時に探索範囲を 3つのレンジに分け、 それぞれのレンジの 中から 1候補ずつ合計 3候補を選択し、 この 3候補の中から 1候補のみを選 ぶ手法が取られているが、 この 3候補の中から 1候補以上 3候補以下の候補 を前記選択法によって選択し、 閉ループピッチ探索器において最終候補を決 定する構成にすることが出来る。 選択されたピッチ周期の候補は、 第 1の閉 ループピッチ探索器 1 1 2に出力される。 このピッチ候補選択器 1 0 9の構 造は、 図 4を用いて後述する。
サブフレーム分割器 1 0 2は、 入力バッファから符号化対象となる 1フレ ーム分のディジ夕ル信号列を入力して、 これを 2つのサブフレームに分割し、 第 1サブフレーム (時間的に前のサブフレーム) を第 1のターゲット算出器 1 0 5に供給し、 第 2サブフレーム (時間的に後のサブフレーム) を第 2の 夕ーゲット算出器 1 0 6に供給する。
第 1のターゲット算出器 1 0 5は、 第 1サブフレームの量子化 L P Cであ る q a 1及び未量子化 L P Cである a 1を用いて量子化合成フィルタ及び重 み付け合成フィル夕を構成し、 直前のフレームの第 2サブフレームにおいて 第 2のフィル夕状態更新器 1 1 1で求められたフィル夕状態 s t 1を用いて 量子化合成フィル夕の零入力応答を除去した後の重み付け入力音声信号 (夕 —ゲットべクトル) を算出し、 第 1の閉ループピッチ探索器 1 1 2、 第 1の 夕ーゲットべクトル更新器 1 1 3、 第 1のゲイン符号帳探索器 1 1 4、 及び 第 1のフィルタ状態更新器 1 1 5に夕一ゲットべクトルを出力する。
第 1のィンパルス応答算出器 1 2 0は、 量子化 L P Cである q a 1を用い て構成された量子化合成フィル夕と未量子化 L P Cである a 1を用いて構成 された重み付け合成フィル夕とを縦続接続したフィル夕のインパルス応答を 求め、 第 1の閉ループピッチ探索器 1 1 2及び第 1のピッチ周期化フィルタ 1 2 1に出力する。 第 1の閉ループピッチ探索器 1 1 2は、 適応符号帳 1 1 9の中から取り出した適応符号べクトルに第 1のィンパルス応答を畳み込む ことにより、 重み付け合成音声ベクトル (適応符号帳成分) を算出し、 第 1 のターゲットべクトルとの誤差を最小とする適応符号べクトルを生成するピ ツチを抽出する。 この時行われるピッチ探索は、 ピッチ候補選択器 1 0 9か ら入力されたピッチ候補の近傍についてのみ行われる。
求められたピッチによって生成される適応符号べクトルは、 第 1の音源生 成器 1 2 2に出力されて音源ベクトルの生成に用いられ、 適応符号ベクトル にィンパルス応答を畳み込んで生成される第 1の適応符号合成べクトルは、 第 1のターゲッ ト更新器 1 1 3、 第 1のフィル夕状態更新器 1 1 5、 及び第 1のゲイン符号帳探索器 1 1 4に出力される。 第 1の夕一ゲット更新器 1 1 3は、 第 1の夕ーゲット算出器 1 0 5より出力された第 1の夕ーゲットべク トルから第 1の閉ループピッチ探索器 1 1 2より出力された第 1の適応符号 合成べクトルに最適ゲインを乗じたものを減じて第 1の雑音符号帳探索用夕 —ゲットべクトルを算出し、 第 1の雑音符号帳探索器 1 2 3に出力する。 第 1の雑音符号帳探索器 1 2 3は、 雑音符号帳 1 2 4の中から取り出した雑音 符号べクトルに第 1のピッチ周期化フィルタ 1 2 1から入力したピッチ周期 化後の第 1のインパルス応答を畳み込むことにより、 重み付け合成音声べク トル (雑音符号帳成分) を算出し、 第 1の雑音符号帳用ターゲットベクトル との誤差を最小とする雑音符号べクトルを選び出す。
選ばれた雑音符号べクトルは、 ピッチ周期化フィル夕によって周期化され て第 1の音源生成器 1 2 2に出力され、 音源ベクトルの生成に用いられる。 また、 雑音符号ベクトルにピッチ周期化後のインパルス応答を畳み込んで生 成される第 1の雑音符号合成べクトルは、 第 1のゲイン符号帳探索器 1 1 4 及び第 1のフィルタ状態更新器 1 1 5に出力される。 第 1のピッチ周期化フ ィル夕 1 2 1は、 入力データを x ( n ) , n = 0, 1 , ···, 3 9 (サブフレ 一ム長ー 1 ) 、 ピッチ周期を Tとし、 周期化ゲインを 3とすると、 上記式 1 に示されるフィル夕を第 1のインパルス応答算出器 1 2 0から入力したイン パルス応答にかけ、 第 1の雑音符号帳探索器 1 2 3に出力する。 このフィル 夕に用いられるピッチ周期 Tは、 第 1の閉ループピッチ探索器 1 1 2から入 力される P 1である。
また、 式 1中の は、 直前のサブフレームにおける量子化適応符号ゲイン (ピッチゲイン) である。 第 1のゲイン符号帳探索器 1 1 4は、 第 1の夕一 ゲッ卜算出器 1 0 5、 第 1の閉ループピッチ探索器 1 1 2、 及び第 1の雑音 符号帳探索器 1 2 3から第 1のターゲットベクトル、 第 1の適応符号合成べ クトル、 及び第 1の雑音符号合成ベクトルをそれぞれ入力し、 第 1の夕一ゲ ットべクトルと、 第 1の適応符号合成べクトルに量子化適応符号ゲインを乗 じたもの及び第 1の雑音符号合成べクトルに量子化雑音符号ゲインを乗じた ものの和のべクトルとの 2乗誤差が最小となる、 量子化適応符号ゲインと量 子化雑音符号ゲインとの組合わせをゲイン符号帳 1 2 9の中から選択する。 選択された量子化ゲインは、 第 1の音源生成器 1 2 2及び第 1のフィル夕 状態更新器 1 1 5に出力され、 音源ベクトルの生成及び合成フィル夕の状態 更新に用いられる。 第 1の音源生成器 1 2 2は、 第 1の閉ループピッチ探索 器 1 1 2から入力される適応符号ベクトル、 及び第 1の雑音符号帳探索器 1 2 3から入力されるピッチ周期化後の雑音符号ベクトルに、 第 1のゲイン符 号帳探索器 1 1 4から入力される量子化ゲイン (適応符号帳成分) 及び量子 化ゲイン (雑音符号帳成分) をそれぞれ乗じ、 量子化ゲイン乗算後の適応符 号べクトルと雑音符号べクトルの加算を行って第 1サブフレームの音源べク 卜ルを生成する。
生成された第 1サブフレームの音源ベクトルは、 適応符号帳に出力されて 適応符号帳が更新される。 第 1のフィル夕状態更新器 1 1 5は、 量子化合成 フィル夕と重み付け合成フィル夕を縦続接続したフィル夕の状態を更新する。 フィル夕の状態は、 第 1のターゲット算出器 1 0 5から入力される夕一ゲッ トべクトルから、 第 1のゲイン符号帳探索器 1 1 4より出力される量子化ゲ イン (適応符号帳成分) を乗じた第 1の閉ループピッチ探索器 1 1 2より出 力される適応符号合成べクトルと第 1のゲイン符号帳探索器 1 1 4より出力 される量子化ゲイン (雑音符号帳成分) を乗じた第 1の雑音符号帳探索器 1 2 3より出力される雑音符号合成べクトルとを、 減じることによって求めら れる。 求められたフィルタ状態は、 s t 2として出力され、 第 2サブフレー ムのフィル夕状態として用いられ、 第 2の夕一ゲッ卜算出器 1 0 6で使用さ れる。
第 2のターゲット算出器 1 0 6は、 第 2サブフレームの量子化 L P Cであ る Q a 2及び未量子化 L P Cである a 2を用いて量子化合成フィル夕と重み 付け合成フィルタとを構成し、 第 1サブフレームにおいて第 1のフィル夕状 態更新器 1 1 5で求められたフィルタ状態 s t 2を用いて量子化合成フィル 夕の零入力応答を除去した後の重み付け入力音声信号 (夕ーゲットべクトル) を算出し、 第 2の閉ループピッチ探索器 1 1 6、 第 2のターゲットベクトル 更新器 1 1 7、 第 2のゲイン符号帳探索器 1 1 8、 及び第 2のフィルタ状態 更新器 1 1 1に第 2のターゲットベクトルを出力する。
第 2のィンパルス応答算出器 1 2 7は、 量子化し P Cである Q a 2を用い て構成された量子化合成フィルタと未量子化 L P Cである a 2を用いて構成 された重み付け合成フィルタとを縦続接続したフィル夕のィンパルス応答を 求め、 第 2の閉ループピッチ探索器 1 1 6及び第 2のピッチ周期化フィル夕 1 2 8に出力する。 第 2の閉ループピッチ探索器 1 1 6は、 適応符号帳 1 1 9の中から取り出した適応符号べクトルに第 2のィンパルス応答を畳み込む ことにより、 重み付け合成音声ベクトル (適応符号帳成分) を算出し、 第 2 の夕ーゲットべクトルとの誤差を最小とする適応符号べクトルを生成するピ ツチを抽出する。 この時行われるピッチ探索は、 第 1の閉ループピッチ探索 器 1 1 2から入力される第 1サブフレームのピッチ P 1の近傍についてのみ W
28
行われる。 求められたピッチによって生成される適応符号ベクトルは、 第 2 の音源生成器 1 2 6に出力されて音源ベクトルの生成に用いられ、 適応符号 べクトルにィンパルス応答を畳み込んで生成される第 2の適応符号合成べク トルは、 第 2のターゲット更新器 1 1 7、 第 2のフィルタ状態更新器 1 1 1、 及び第 2のゲイン符号帳探索器 1 1 8に出力される。
第 2のターゲット更新器 1 1 7は、 第 2のターゲット算出器 1 0 6より出 力された第 2のターゲットべクトルから第 2の閉ループピッチ探索器 1 1 6 より出力された第 2の適応符号合成べクトルに最適ゲインを乗じたものを減 じて、 第 2の雑音符号帳採索用ターゲットベクトルを算出し、 第 2の雑音符 号帳探索器 1 2 5に出力する。 第 2の雑音符号帳探索器 1 2 5は、 雑音符号 帳 1 2 4の中から取り出した雑音符号べクトルに第 2のピッチ周期化フィル 夕 1 2 8から入力したピッチ周期化後の第 2のインパルス応答を畳み込むこ とにより、 重み付け合成音声ベクトル (雑音符号帳成分) を算出し、 第 2の 雑音符号帳用ターゲットべクトルとの誤差を最小とする雑音符号べクトルを 選び出す。 選ばれた雑音符号ベクトルは、 第 2のピッチ周期フィル夕によつ て周期化されて第 2の音源生成器 1 2 6に出力され音源べクトルの生成に用 いられる。
また、 雑音符号べクトルにピッチ周期化後のインパルス応答を畳み込んで 生成される第 2の雑音符号合成ベクトルは、 第 2のゲイン符号帳探索器 1 1 8及び第 2のフィル夕状態更新器 1 1 1に出力される。 第 2のピッチ周期化 フィルタ 1 2 8は、 入力データを X ( η ) , n = 0 , 1, ···, 3 9 (サブフ レーム長一 1 ) 、 ピッチ周期を Tとし、 周期化ゲインを /3とすると、 上記式 1に示されるフィルタを第 2のインパルス応答算出器 1 2 7から入力したィ ンパルス応答にかけ、 第 2の雑音符号帳探索器 2 5に出力する。 このフィル 夕に用いられるピッチ周期 Tは、 第 2の開ループピッチ探索器 1 1 6から入 力される P 2である。 第 2のゲイン符号帳探索器 1 1 8は、 第 2の夕一ゲッ 卜算出器 1 0 6、 第 2の閉ループピッチ探索器 1 1 6、 及び第 2の雑音符号 帳探索器 1 2 5から第 2のターゲットべクトル、 第 2の適応符号合成べクト ル、 及び第 2の雑音符号合成ベクトルをそれぞれ入力し、 第 2のターゲット べクトルと、 第 2の適応符号合成べクトルに量子化適応符号ゲインを乗じた もの及び第 2の雑音符号合成べクトルに量子化雑音符号ゲインを乗じたもの の和のベクトルとの 2乗誤差が最小となる、 量子化適応符号ゲインと量子化 雑音符号ゲインとの組合わせをゲイン符号帳 1 2 9の中から選択する。 選択 された量子化ゲインは、 第 2の音源生成器 1 2 6及び第 2のフィルタ状態更 新器 1 1 1に出力され、 音源ベクトルの生成及び合成フィル夕の状態更新に 用いられる。
第 2の音源生成器 1 2 6は、 第 2の閉ループピッチ探索器 1 1 6から入力 される適応符号べクトルと、 第 2の雑音符号帳探索器 1 2 5から入力される ピッチ周期化後の雑音符号ベクトルとに、 第 2のゲイン符号帳探索器 1 1 8 から入力される量子化ゲイン (適応符号帳成分) 及び量子化ゲイン (雑音符 号帳成分) をそれぞれ乗じ、 量子化ゲイン乗算後の適応符号ベクトルと雑音 符号べクトルの加算を行って第 2サブフレームの音源べクトルを生成する。 生成された第 2サブフレームの音源べクトルは、 適応符号帳に出力されて適 応符号帳を更新する。 第 2のフィル夕状態更新器 1 1 1は、 量子化合成フィ ル夕と重み付け合成フィル夕を縦続接続したフィルタの状態を更新する。 フィル夕の状態は、 第 2の夕ーゲット算出器 1 0 6から入力される夕ーゲ ットベクトルから、 第 2のゲイン符号帳探索器 1 1 8より出力される量子化 ゲイン (適応符号帳成分) を乗じた第 2の閉ループピッチ探索器 1 1 6より 出力される適応符号合成べクトルと第 2のゲイン符号帳探索器 1 1 8から出 力される量子化ゲイン (雑音符号帳成分) を乗じた第 2の雑音符号帳探索器 1 2 5から出力される雑音符号合成べクトルとを、 減じることによって求め られる。 求められたフィル夕状態は、 s t 1として出力され、 次のフレーム の第 1サブフレームのフィルタ状態として用いられ、 第 1の夕ーゲット算出 器 1 0 5で使用される。 なお、 適応符号帳 1 1 9は、 第 1の音源生成器 1 2 2及び第 2の音源生成器 1 2 6によって生成される音源信号を時間的に並べ てバッファリングしたものであり、 閉ループピッチ探索の探索に必要な長さ だけ過去に生成した音源信号を蓄えている。
適応符号帳の更新は、 サブフレーム毎に 1回行われ、 適応符号帳のバッフ ァを 1サブフレーム分シフトした後、 新たに生成しされた音源信号がバッフ ァの最後にコピーされる。 なお、 サブフレーム分割器 1 0 2によって分割さ れた量子化対象信号のうち、 第 1サブフレームの符号化処理が先に行われ、 第 1サブフレームの符号化処理がすべておわった後に、 第 2サブフレームの 符号化処理が行われ、 第 2サブフレームのピッチ P 2は、 第 1サブフレーム のピッチ P 1を用いて差分量子化されて復号器側へ伝送される。
1フレームの処理が終わると、 L P C量子化器 1 0 7から出力される L P Cデ一夕 L、 第 1の閉ループピッチ探索器 1 1 2から出力されるピッチ P 1 、 第 1の雑音符号帳探索器 1 2 3から出力される雑音符号べクトルデータ S 1 、 第 1のゲイン符号帳探索器 1 1 4から出力されるゲインデータ G 1、 第 2の 閉ループピッチ探索器 1 1 6から出力されるピッチ P 2、 第 2の雑音符号帳 探索器 1 2 5から出力される雑音符号べクトルデ一夕 S 2、 及び第 2のゲイ ン符号帳探索器 1 1 8から出力されるゲインデータ G 2が符号化され、 ビッ ト列として伝送路を介して復号器に出力される。
次に、 図 4を用いてピッチ候補選択器 1 0 9の詳細について説明する。 図 4において、 正規化自己相関関数算出器 2 0 1は、 重み付け入力音声信号を 入力として、 その正規化自己相関関数を算出し、 分類手段であるレンジ分割 器 2 0 2に出力する。 レンジ分割器 2 0 2は、 正規化自己相関関数算出器 2 0 1から出力された正規化自己相関関数をピッチラグの値によって 3つのレ ンジに分割し、 第 1の最大値探索器 2 0 3、 第 2の最大値探索器 2 0 4、 及 び第 3の最大値探索器 2 0 5にそれぞれ出力する。
第 1の最大値探索器 2 0 3は、 レンジ分割機 2 0 2で分割された第 1レン ジの自己相関関数を入力として、 その中から正規化自己相関関数の最大値と その最大値を与えるピッチラグの値を候補選択器 2 0 7に、 前記自己相関関 数の最大値を第 4の最大値探索器 2 0 6にそれぞれ出力する。 第 2の最大値 探索器 2 0 4は、 レンジ分割器 2 0 2で分割された第 2レンジの自己相関関 数を入力として、 その中から正規化自己相関関数の最大値とその最大値を与 えるピッチラグの値を選択器 2 0 7に出力し、 前記自己相関関数の最大値を 第 4の最大値探索器 2 0 6に出力する。 第 3の最大値探索器 2 0 5は、 レン ジ分割機 2 0 2で分割された第 3レンジの自己相関関数を入力として、 その 中から正規化自己相関関数の最大値及びその最大値を与えるピッチラグの値 を選択器 2 0 7に出力し、 前記自己相関関数の最大値を第 4の最大値探索器 2 0 6に出力する。
第 4の最大値探索器 2 0 6は、 第 1の最大値探索器 2 0 3、 第 2の最大値 探索器 2 0 4、 及び第 3の最大値探索器 2 0 5から各レンジにおける正規化 自己相関関数の最大値を入力し、 その中での最大値を閾値算出器 2 0 8に出 力する。 閾値算出器 2 0 8は、 第 4の最大値探索器 2 0 6から出力された正 規化自己相関関数の最大値を入力として、 これに閾値定数を乗算して閾値を 算出し、 候補選択器 2 0 7に出力する。 候補選択器 2 0 7は、 第 1の最大値 探索器 2 0 3、 第 2の最大値探索器 2 0 4、 及び第 3の最大値探索器 2 0 5 から、 各レンジにおける正規化自己相関関数の最大値とその最大値を与える ピッチラグとの値をそれぞれ入力し、 閾値算出器 2 0 8から入力した閾値を 越える正規化自己相関関数を与えるピッチラグのみを選択し、 そのピッチラ グと選択されたピッチラグの個数を出力する。
従来の開ループピッチ探索器 9においては、 候補選択器 2 0 7に相当する ブロックにおいて、 複数のピッチ候補が出力されることはなく、 3つのレン ジで求められた正規化自己相関関数の最大値に重み付けを行った後、 1候補 のみを出力していた。 この重み付けは短いピッチラグのレンジが選ばれ易く する重み付けであり、 倍ピッチ誤り等を避けるためのものである。 これは、 2種類以上のピッチ周期性を持つ信号等に対しては必ずしも有効に働かない。 また、 候補数を 1つに絞ってしまうため、 適応符号帳のピッチラグとして必 ずしも最適なものが出力されない場合がある。
本発明は、 この問題を解決するために重み付け処理を行わずに複数のピッ チ候補を出力し、 閉ループピッチ探索時にピッチを決定するようにしたもの である。 これにより、 2種類以上のピッチ周期性を有する信号などに対して も、 適応符号帳のうち最適なピッチを選択することができる。 また、 自己相 関を算出した場合にあまり相関値が高くない候補を選択してしまうことを防 止できるので、 差分量子化を行っているサブフレームのピッチに悪影響を及 ぼすことがない。
複数のピッチ候補を残す方法として、 常に定められた個数の候補を残すこ とも考えられるが、 その場合、 第 1サブフレームに特化したピッチが最終的 に選ばれてしまい、 差分量子化を行っている第 2サブフレームのピツチに悪 影響を及ぼす場合がしばしば生じる。 このため、 本発明では、 候補選択器 2 0 7を備えることにより、 1フレーム全体で自己相関を算出した場合にあま り相関値が高くないような候補は出力しないようにしている。 これにより、 差分量子化を適用しないサブフレームに特化したピッチを予備選択候補とし て出力しないようにしている。 なお、 倍ピッチ誤りを避けるための重み付け を行う場合は、 閉ループピッチ探索で最終ピッチを決定するときに行うこと が出来る。 なお、 図 4において、 レンジ分割器 2 0 2は、 レンジを 3つに分 割しているが、 それ以外の数に分割しても良い。
図 5は図 4に示すピッチ候補選択器 1 0 9の処理内容を示すフローチヤ一 トである。 図 5において、 まず、 ステップ (以下、 S Tと省略する) 1 0 1 において、 重み付け入力信号の正規化自己相関関数 nCOr [ n ], Pmin≤ n≤ Pmax (Pminはピッチ探索範囲の下限、 Pmaxはピッチ探索範囲の上限) を算 出する。
次いで、 S T 1 0 2において、 第 1レンジ (Pmin≤n≤Pmaxl、 Pmaxl は 第 1レンジにおけるピッチの上限) における正規化自己相関関数の最大値を 与えるピッチラグ P 1を求める。 次いで、 ST 103において、 第 2レンジ (Pmaxl<n≤Pmax2, Pmax2 は第 2レンジにおけるピッチの上限) におけ る正規化自己相関関数の最大値を与えるピッチラグ P 2を求める。 次いで S T 104において、 第 3レンジ (Pmax2<n≤Pmax) における正規化自己相 関関数の最大値を与えるピッチラグ P 3を求める。 なお、 ST 102、 ST 103、 ST 104の処理順序は任意である。
P l、 P 2、 及び P 3が求められた後、 S T 105において ncor[Pl]、 ncor[P2]、 及び ncor〖P3]の中力、ら最大ィ直を選び ncor_max とする。 次い で、 ST 306において、 ループカウンタ i とピッチ候補数カウンタ ncand をリセッ卜する。次いで ST 307におレ て、 ncor[Pi]力閱 ί直1 Th*ncor一 max (Th は閾値を設定するための定数) 以上であるかどうかをチェックし、 nCor[Pi]が閾値以上であれば、 ST 308の処理を行って P iをピッチ候補 として候補カウンタ ncand をインクリメントする。 ncor[Pi]が閾値未満で あった場合は、 S T 308をスキップする。 ST 308の処理の後、 ST3 09において、 ループカウン夕 iがインクリメントされる。 ループカウン夕 は、 ST 308の処理をスキップした場合も同様にインクリメントされる。
ST 309でループカウン夕をインクリメントした後、 ST 3 10におい て、 ループカウン夕が 3以下であるかどうかチェックし、 3以下の場合は S T 307の処理に戻ってループ処理を繰り返し、 3つのレンジで求められた 全ての候補について閾値処理を行う。 ST3 10において、 ループカウンタ が 3を越えると、 3つのレンジで求められた全ての候補についての閾値処理 が完了するので、 ループ処理は終了し、 ST 3 1 1においてピッチ候補数 ncand及びピッチ候補 pcand[n], 0≤ n<ncandが出力され、 ピッチ候補 選択の処理が終了する。
また、 図 6は本発明の実施の形態 1における復号化装置を示すブロック図 である。 以下、 図 6を参照してその構成及び動作を説明する。 図 6において、 LPC復号器 40 1は、 符号器側から伝送された LPCの情報 Lから LPC を復号して L P C補間器 4 0 2に出力する。 L P C補間器 4 0 2は、 L P C 復号器 4 0 1から出力された L P Cを入力して補間処理の後、 第 1及び第 2 サブフレームの量子化 (復号) L P Cである q a 1及び q a 2を合成フィル 夕 4 1 1に出力する。 適応符号ベクトル復号器 4 0 3は、 符号器側から伝送 されてきた第 1サブフレーム及び第 2サブフレームのピッチ情報 P 1及び P 2を入力し、 ピッチ P I , P 2に基づいて適応符号帳 4 0 4から適応符号べ クトルを取り出して音源生成器 4 1 0に出力する。
適応符号帳 4 0 4は、 音源生成器 4 1 0から出力された音源べクトルをサ ブフレーム毎に更新しながらバッファリングし、 適応符号べクトル復号器 4 0 3に出力する。 雑音符号べクトル復号器 4 0 5は、 符号器側から伝送され てきた第 1及び第 2サブフレームの雑音符号帳情報 S 1, S 2を入力し、 S 1, S 2に対応する雑音符号べクトルを雑音符号帳 4 0 6から取り出してピ ツチ周期化フィル夕 4 0 9に出力する。 雑音符号帳 4 0 6は、 符号器のもの と同一の内容を格納しており、 雑音符号べクトルを雑音符号べクトル復号器 に出力する。 ゲイン復号器 4 0 7は、 符号器側から伝送されてきた第 1及び 第 2サブフレームのゲイン情報 G 1, G 2を入力し、 G l, G 2に対応する ゲインをゲイン符号帳 4 0 8から取り出して量子化ゲインを復号し、 音源生 成器 4 1 0に出力する。
ゲイン符号帳 4 0 8は、 符号器のものと同一の内容を格納しており、 量子 化ゲインをゲイン復号器 4 0 7に出力する。 ピッチ周期化フィル夕 4 0 9は、 雑音符号べクトル復号器から出力された雑音符号べクトルと符号器側から伝 送されてきたピッチ情報 P 1, P 2とを入力として、 雑音符号ベクトルをピ ツチ周期化して音源生成器 4 1 0に出力する。 音源生成器 4 1 0は、 適応符 号ベクトル、 ピッチ周期化された雑音符号ベクトル、 及び復号ゲインをそれ ぞれ適応符号ベクトル復号器 4 0 3、 ピッチ周期化フィルタ 4 0 9、 及びゲ ィン復号器 4 0 7からそれぞれ入力し、 生成した音源べクトルを合成フィル 夕 4 1 1及び適応符号帳 4 0 4に出力する。 合成フィルタ 4 1 1は、 L P C補間器 4 0 2から出力された q a 1, q a 2を用いて合成フィル夕を構築し、 音源生成器 4 1 0から出力された音源べ クトルをフィル夕入力としてフィル夕処理を行い、 サブフレームバッファ 4 1 2に復号音声信号を出力する。 サブフレームバッファ 4 1 2は、 合成フィ ル夕 4 1 1から出力された復号音声信号を 1サブフレーム分蓄積し、 フレー ムバッファ 4 1 3に出力する。 フレームバッファ 4 1 3は、 サブフレームバ ッファ 4 1 2から出力された 1サブフレーム分の復号音声信号を入力とし、 1フレーム (2サブフレーム) 分だけ蓄積し、 出力する。
上記構成を有する復号化装置の動作を図 6を参照しながら説明する。 符号 器側から伝送されてきた L P C情報 Lは、 L P C復号器 4 0 1によって復号 される。 復号 L P Cは、 L P C補間器 4 0 2によって符号器側と同様の補間 処理が行われ、 第 1サブフレームの量子化 L P Cである q a 1と第 2サブフ レームの量子化 L P Cである Q a 2とを得る。 q a 1は第 1サブフレームの 合成フィルタを構成するのに用いられ、 Q a 2は第 2サブフレームの合成フ ィル夕を構成するのに用いられる。
符号器側から伝送されてきた第 1及び第 2サブフレームのピツチ情報 P 1 , P 2は、 適応符号べクトル復号器 4 0 3及びピッチ周期化フィルタ 4 0 9に 入力される。 まず、 P 1を用いて第 1サブフレームの適応符号ベクトルが適 応符号帳 4 0 4から切り出されて復号適応符号べクトルとして音源生成器 4 1 0に出力される。 符号器側から伝送されてきた第 1及び第 2サブフレーム の雑音符号情報第 S l, S 2は、 雑音符号ベクトル復号器に入力され、 まず、 S 1を用いて第 1サブフレームの雑音符号べクトルが雑音符号帳 4 0 6から 取り出されてピッチ周期化フィルタ 4 0 9に出力される。
ピッチ周期化フィルタ 4 0 9は、 ピッチ周期 P 1で雑音符号べクトルのピ ツチ周期化を符号器側と同様に上記式 1に基づいて行い、 音源生成器 4 1 0 に出力する。 符号器側から伝送されてきたゲイン情報 G 1 , G 2は、 ゲイン 復号器 4 0 7に入力され、 まず、 G 1を用いて第 1サブフレームのゲインが ゲイン符号帳 4 0 8から取り出され適応符号ゲイン及び雑音符号ゲインが復 号されて音源生成器 4 1 0に出力される。 音源生成器 4 1 0は、 適応符号べ クトル復号器 4 0 3から出力された適応符号べクトルにゲイン復号器 4 0 7 から出力された適応符号ゲインとを乗算したべクトルと、 ピッチ周期化フィ ル夕 4 0 9から出力されたピッチ周期化後の雑音符号ベクトル及びゲイン復 号器 4 0 7から出力された雑音符号ゲインを乗算したべクトルとの加算を行 レ 合成フィルタに出力する。
合成フィルタに出力された復号音源べクトルは、 同時に適応符号帳 4 0 4 にも出力され、 次のサブフレームで用いる適応符号帳の一部となる。 合成フ ィル夕 4 1 1は、 音源生成器 4 1 0から出力された復号音源ベクトルを入力 として q a 1を用いて構成した合成フィル夕を用いて第 1サブフレームの復 号音声を合成し、 サブフレームバッファ 4 1 2に出力する。 次いで、 第 2サ ブフレームのピッチ情報 P 2、 雑音符号情報 S 2、 ゲイン情報 G 2、 及び復 号 L P Cである q a 2を用いて同様の音声復号処理が行われる。 最後に、 フ レームバッファ 4 1 3にバッファリングされた 2サブフレーム (1フレーム) 分の復号音声信号が復号器から出力されて、 1フレームの音声信号の復号処 理が終わる。
このように上記実施の形態によれば、 差分量子化されるサブフレームを含 めた入力データからピッチ候補を求める際に、 一つ以上の候補を残すことに よって (一つの候補のみを残す場合に比べて) より精度の良いピッチ探索を 実現し、 かつ、 複数個の候補を残しすぎることによって差分量子化しないサ ブフレームに特化したピッチが選択される危険性を回避することができる音 声符号化装置及び音声符号化復号化装置を実現することができる。
(実施の形態 2 )
図 7は本発明の実施の形態 2に係る音声符号化装置の構成を示すプロック 図である。 この音声符号化装置は、 ピッチ候補の選択を重み付け入力信号で はなく残差信号を用いて行い、 雑音符号べクトルのピッチ周期化を行わない 構成を有する。
図 7において、 入力バッファ 50 1は、 入力ディジタル音声信号を 1フレ 一ム分づつ更新しながら符号化に必要な長さのデ一夕をバッファリングして サブフレーム分割器 502、 L PC分析器 503、 及び逆フィル夕 504に 必要なデータを出力する。 サブフレーム分割器 502は、 入力バッファ 50 1から入力した 1フレーム分の入力ディジ夕ル信号を 2つのサブフレームに 分割して第 1サブフレームの信号を第 1のターゲット算出器 505に出力し、 第 2サブフレームの信号を第 2の夕一ゲット算出器 506に出力する。 LP C分析器 50 3は、 入力バッファ 50 1から分析に必要なディジタル音声信 号を入力して L P C分析を行い、 線形予測係数を LP C量子化器 507及び 第 2の LP C補間器 508に出力する。
逆フィルタ 5 04は、 入力バッファ 50 1から入力した 1フレーム分のデ イジタル音声信号と第 1の LP C補間器 5 1 0から出力される線形予測係数 q a 1 , q a 2を入力として入力音声信号の逆フィル夕処理を行ってピッチ 候補選択器 50 9に出力する。 L P C量子化器 507は、 L P C分析器 50 3から出力された線形予測係数を量子化して量子化 L P Cを第 1の L PC補 間器 5 1 0に出力し、 同時に量子化 LP Cの符号化データ Lを復号器に出力 する。 第 2の L P C補間器 508は、 L P C分析器 503から出力される L P Cを入力として第 1サブフレームの L P Cの補間を行い、 第 1及び第 2サ ブフレームの LPCをそれぞれ a 1, a 2として出力する。
第 1の LP C補間器 5 1 0は、 L PC量子化器 507から出力された量子 化し P Cを入力として第 1サブフレームの量子化 LP Cの補間を行い、 第 1 及び第 2サブフレームの量子化 LP Cをそれぞれ q a 1 , q a 2として出力 する。 第 1のターゲット算出器 50 5は、 サブフレーム分割器 502によつ て分割された第 1サブフレームのディジタル音声信号、 直前の第 2サブフレ —ムにおいて第 2のフィル夕状態更新器 5 1 1から出力されたフィルタ状態 s t 1、 第 1サブフレームの量子化及び未量子化 LPCである Q a 1及び a 1を入力として第 1の夕ーゲッ卜べクトルを算出して第 1の閉ループピッチ 探索器 5 1 2、 第 1の雑音符号帳探索器 5 1 3、 第 1のゲイン符号帳探索器 5 1 4、 及び第 1のフィルタ状態更新器 5 1 5に出力する。
第 2のターゲットベクトル更新器 5 0 6は、 サブフレーム分割器 5 0 2か ら出力された第 2サブフレームのディジタル音声信号、 現フレームの第 1サ ブフレームにおける第 1のフィルタ状態更新器 5 1 5から出力されたフィル 夕状態 s t 2、 並びに第 2サブフレームの量子化及び未量子化 L P Cである q a 2及び a 2とを入力として第 2のターゲットべクトルを算出して、 第 2 の閉ループピッチ探索器 5 1 6、 第 2の雑音符号帳探索器 5 1 7、 第 2のゲ イン符号帳探索器 5 1 8、 及び第 2のフィル夕状態更新器 5 1 1に出力する。 ピッチ候補選択器 5 0 9は、 逆フィルタ 5 0 4から出力された残差信号を入 力としてピッチ周期性の抽出を行いピッチ周期候補を第 1の閉ループピッチ 探索器 5 1 2に出力する。
第 1の閉ループピッチ探索器 5 1 2は、 第 1のターゲットベクトル、 ピッ チ候補、 適応符号ベクトル候補、 及びインパルス応答ベクトルをそれぞれ第 1の夕ーゲット算出器 5 0 5、 ピッチ候補選択器 5 0 9、 適応符号帳 5 1 9 、 及び第 1のィンパルス応答算出器 5 2 0からそれぞれ入力して、 各ピッチ候 補の中から閉ループピッチ探索を行い、 閉ループピッチを第 2の閉ループピ ツチ探索器 5 1 6及び復号器に出力し、 適応符号ベクトルを第 1の音源生成 器 5 2 1に出力し、 適応符号ベクトルに第 1のインパルス応答を畳み込んだ 合成べクトルを第 1の雑音符号帳探索器 5 1 3、 第 1のゲイン符号帳探索器 5 1 4、 及び第 1のフィル夕状態更新器 5 1 5に出力する。 第 1の雑音符号 帳探索器 5 1 3は、 第 1のターゲットベクトル、 第 1の適応符号合成べクト ル、 及び第 1のインパルス応答べクトルをそれぞれ第 1の夕ーゲット算出器 5 0 5、 第 1の閉ループピッチ探索器 5 1 2、 及び第 1のインパルス応答べ クトル算出器 5 2 0から入力し、 雑音符号帳 5 2 2から出力される雑音符号 べクトル候補を入力して、 雑音符号帳 5 2 2の中から最適な雑音符号べクト ルを選択し、 選択した雑音符号ベクトルを第 1の音源生成器 5 2 1に出力し、 選択した雑音符号べクトルに第 1のィンパルス応答べクトルを畳み込んだ合 成べクトルを第 1のゲイン符号帳探索器 5 1 4及び第 1のフィル夕状態更新 器 5 1 5に出力し、 選択した雑音符号べクトルを表す符号 S 1を復号器に出 力する。
第 1のゲイン符号帳探索器 5 1 4は、 第 1の夕ーゲットべクトル、 第 1の 適応符号合成べクトル、 及び第 1の雑音符号合成べクトルをそれぞれ第 1の 夕ーゲット算出器 5 0 5、 第 1の閉ループピッチ探索器 5 1 2、 及び第 1の 雑音符号帳探索器 5 1 3からそれぞれ入力して、 ゲイン符号帳 5 2 3の中か ら最適な量子化ゲインを選択して第 1の音源生成器 5 2 1及び第 1のフィル 夕状態更新器 5 1 5に出力する。 第 1のフィルタ状態更新器 5 1 5は、 第 1 のターゲットベクトル、 第 1の適応符号合成ベクトル、 第 1の雑音符号合成 べクトル、 及び第 1の量子化ゲインをそれぞれ第 1の夕ーゲットべクトル算 出器 5 0 5、 第 1の閉ループピッチ探索器 5 1 2、 第 1の雑音符号帳探索器 5 1 3、 及び第 1のゲイン符号帳探索器 5 1 4からそれぞれ入力して、 合成 フィル夕の状態更新を行いフィル夕状態 s t 2を出力する。 第 1のインパル ス応答算出器 5 2 0は、 第 1サブフレームの L P Cである a 1及び第 1サブ フレームの量子化 L P Cである Q a 1を入力として、 聴覚重みづけフィル夕 と合成フィル夕とを縦続接続したフィル夕のィンパルス応答を算出し、 第 1 の閉ループピッチ探索器 5 1 2及び第 1の雑音符号帳探索器 5 1 3に出力す る。
雑音符号帳 5 2 2は、 予め定められた数の予め定められた形状を有する雑 音符号べクトルを格納し、 第 1の雑音符号帳探索器 5 1 3及び第 2の雑音符 号帳探索器 5 1 7に雑音符号べクトルを出力する。 第 1 の音源生成器 5 2 1 は、 適応符号ベクトル、 雑音符号ベクトル、 及び量子化ゲインをそれぞれ第 1の閉ループピッチ探索器 5 1 2、 第 1の雑音符号帳探索器 5 1 3、 及び第 1のゲイン符号帳探索器 5 1 4から入力し、 音源ベクトルを生成し、 生成し た音源べクトルを適応符号帳 5 1 9に出力する。
適応符号帳 5 1 9は、 第 1の音源生成器 5 2 1及び第 2の音源生成器 5 2 4から交互に出力される音源べクトルを入力として、 適応符号帳を更新し、 適応符号ベクトル候補を第 1の閉ループピッチ探索器 5 1 2及び第 2の閉ル ープピッチ探索器 5 1 6とに交互に出力する。 ゲイン符号帳 5 2 3は、 予め 用意された量子化ゲイン (適応符号べクトル成分と雑音符号べクトル成分) を格納し、 第 1のゲイン符号帳採索器 5 1 4及び第 2のゲイン符号帳探索器 5 1 8に出力する。
第 2の閉ループピッチ探索器 5 1 6は、 第 2のターゲットベクトル、 第 1 サブフレームのピッチ、 適応符号ベクトル候補、 及びインパルス応答べクト ルをそれぞれ第 2の夕ーゲット算出器 5 0 6、 第 1の閉ループピッチ探索器 5 1 2、 適応符号帳 5 1 9、 及び第 2のィンパルス応答算出器 5 2 5からそ れぞれ入力して、 第 1サブフレームのピッチの近傍で閉ループピッチ探索を 行い、 閉ループピッチを P 2として復号器に出力し (ここで、 ? 2は 1を 用いて差分量子化されてから復号器側へ伝送される) 、 適応符号ベクトルを 第 2の音源生成器 5 2 4に出力し、 適応符号べクトルに第 2のィンパルス応 答を畳み込んだ合成ベクトルを第 2の雑音符号帳探索器 5 1 7、 第 2のゲイ ン符号帳探索器 5 1 8、 及び第 2のフィルタ状態更新器 5 1 1に出力する。 第 2のゲイン符号帳探索器 5 1 8は、 第 2のターゲットベクトル、 第 2の 適応符号合成ベクトル、 及び第 2の雑音符号合成ベクトルをそれぞれ第 2の ターゲッ ト算出器 5 0 6、 第 2の閉ループピッチ探索器 5 1 6、 及び第 2の 雑音符号帳探索器 5 1 7からそれぞれ入力して、 ゲイン符号帳の中から最適 な量子化ゲインを選択して第 2の音源生成器 5 2 4及び第 2のフィル夕状態 更新器 5 1 1に出力する。 第 2のフィルタ状態更新器 5 1 1は、 第 2の夕一 ゲッ卜ベクトル、 第 2の適応符号合成ベクトル、 第 2の雑音符号合成べクト ル、 及び第 2の量子化ゲインをそれぞれ第 2のタ一ゲットべクトル算出器 5 0 6、 第 2の閉ループピッチ探索器 5 1 6、 第 2の雑音符号帳探索器 5 1 7、 及び第 2のゲイン符号帳探索器 5 1 8からそれぞれ入力して、 合成フィルタ の状態更新を行い、 フィルタ状態 s t 1を出力する。
第 2のィンパルス応答算出器 5 2 5は、 第 2サブフレームの L P Cである a 2及び第 2サブフレームの量子化 L P Cである q a 2を入力として、 聴覚 重みづけフィルタと合成フィル夕とを縦続接続したフィル夕のインパルス応 答を算出し、 第 2の閉ループピッチ探索器 5 1 6及び第 2の雑音符号帳探索 器 5 1 7に出力する。 第 2の雑音符号帳探索器 5 1 7は、 第 2の夕一ゲット 算出器 5 0 6から出力された第 2の夕一ゲットべクトル及び第 2の閉ループ ピッチ探索器 5 1 6から出力された第 2の適応符号合成べクトル、 第 2のィ ンパルス応答算出器 5 2 5から出力された第 2のインパルス応答べクトル、 及び雑音符号帳 5 2 2から出力される雑音符号べクトル候補を入力として、 雑音符号帳 5 2 2の中から最適な雑音符号べクトルを選択し、 選択した雑音 符号べクトルを第 2の音源生成器 5 2 4に出力し、 選択した雑音符号べクト ルに第 2のィンパルス応答べクトルを畳み込んだ合成べクトルを第 2のゲイ ン符号帳探索器 5 1 8及び第 2のフィルタ状態更新器 5 1 1に出力し、 選択 した雑音符号べクトルを表す符号 S 2を復号器に出力する。 第 2の音源生成 器 5 2 4は、 適応符号ベクトル、 雑音符号ベクトル、 及び量子化ゲインをそ れぞれ第 2の閉ループピッチ探索器 5 1 6、 第 2の雑音符号帳探索器 5 1 7、 及び第 2のゲイン符号帳探索器 5 1 8から入力し、 音源ベクトルを生成し、 生成した音源べクトルを適応符号帳 5 1 9に出力する。
なお、 L P C量子化器 5 0 7から出力される L P Cデータ L、 第 1の閉ル ープピッチ探索器 5 1 2から出力されるピッチ P 1、 第 1の雑音符号帳探索 器 5 1 3から出力される雑音符号べクトルデータ S 1、 第 1のゲイン符号帳 探索器 5 1 4から出力されるゲインデータ G 1、 第 2の閉ループピッチ探索 器 5 1 6から出力されるピッチ P 2、 第 2の雑音符号帳探索器 5 1 7から出 力される雑音符号べクトルデータ S 2、 及び第 2のゲイン符号帳探索器 5 1 8から出力されるゲインデータ G 2は、 符号化されビット列として伝送路を 介して復号器に出力される (P 2は P 1を用いて差分量子化される) 。 また、 第 2サブフレームの処理は、 第 1サブフレームの処理が全て終わった後に行 われる。
上記構成を有する音声符号化装置の動作を図 7から図 9を参照して説明す る。 まず、 図 7において、 音声信号は、 入力バッファ 501に入力される。 入力バッファ 50 1は、 入力された符号化対象となるディジタル音声信号を 1フレーム (1 0ms) 単位で更新し、 サブフレーム分割器 502、 LPC 分析器 503、 及び逆フィル夕 504に対して必要なバッファリングデ一夕 を供給する。 ?(3分析器503は、 入力バッファ 501から供給されたデ 一夕を用いて線形予測分析を行い、 線形予測係数 (LPC) を算出し、 LP C量子化器 507及び第 2の LP C補間器 508に出力する。
L PC量子化器 507は、 L PCを LS P領域に変換して量子化を行い、 量子化 L S Pを第 1の LPC補間器 5 10に出力する。 第 1の LP C補間器 は、 入力された量子化 LS Pを第 2サブフレームの量子化 LS Pとし、 第 1 サブフレームの量子化 L S Pは、 直前のフレームの第 2サブフレームの量子 化し S Pと現フレームの第 2サブフレームの量子化 L S Pとの線形補間によ つて補間して求める。 得られた第 1及び第 2サブフレームの量子化 L S Pは、 L PCに変換された後、 量子化 LP Cとしてそれぞれ Q a 1, Q a 2として 出力される。 第 2の LP C補間器 508では、 入力された未量子化 L P Cを L S Pに変換した後、 第 1の LP C補間器 5 10と同様に第 1サブフレーム のし S Pが補間され、 第 1及び第 2サブフレームの L S Pが決定された後、 L PCに変換後、 未量子化 L PCとしてそれぞれ a 1, a 2として出力され る。
逆フィルタ 504は、 入力バッファ 50 1から量子化対象となるディジタ ルデ一夕列を 1フレーム分 (10ms) 入力し、 量子化 LP Cである q a 1, q E2を用いて構成された逆フィル夕でフィルタリングすることによって残差 信号を算出し、 ピッチ候補選択器 509に出力する。 ピッチ候補選択器 50 9は、 過去に生成した残差信号をバッファリングしており、 新たに生成した 残渣信号をバッファに付け加えたデ一夕列から正規化自己相関関数を求め、 これに基づいて残差信号の周期を抽出する。 この時、 正規化自己相関関数が 大きいものから順に、 定められた数以下のピッチ候補が選択される。 選択は 正規化自己相関関数を用いて行われ、 正規化自己相関関数の最大値に予め定 められた閾値係数 (例えば 0 . 7 ) を乗じた値以上の正規化自己相関関数を 与えるピッチ候補のみが出力されるように選択が行われる。 選択されたピッ チ周期の候補は、 第 1の閉ループピッチ探索器 5 1 2に出力される。 このピ ツチ候補選択器の構造は図 8を用いて後述する。
サブフレーム分割器 5 0 2は、 入力バッファから符号化対象となる 1フレ ーム分のディジタル信号列を入力して、 これを 2つのサブフレームに分割し、 第 1サブフレーム (時間的に前のサブフレーム) を第 1のターゲット算出器 5 0 5に供給し、 第 2サブフレーム (時間的に後のサブフレーム) を第 2の 夕一ゲット算出器 5 0 6に供給する。
第 1のターゲット算出器 5 0 5は、 第 1サブフレームの量子化 L P Cであ る Q a 1及び未量子化 L P Cである a 1を用いて量子化合成フィル夕と重み 付け合成フィル夕とを構成し、 直前のフレームの第 2サブフレームにおいて 第 2のフィル夕状態更新器 5 1 1で求められたフィル夕状態 s t 1を用いて 量子化合成フィルタの零入力応答を除去した後の重み付け入力音声信号 (第 1のターゲットベクトル) を算出し、 第 1の閉ループピッチ採索器 5 1 2、 第 1の雑音符号帳探索器 5 1 3、 第 1のゲイン符号帳探索器 5 1 4、 及び第 1のフィル夕状態更新器 5 1 5に第 1の夕一ゲットべクトルを出力する。 第 1のインパルス応答算出器 5 2 0は、 量子化 L P Cである Q a 1を用い て構成された量子化合成フィル夕及び未量子化 L P Cである a 1を用いて構 成された重み付け合成フィルタとを縦続接続したフィル夕のィンパルス応答 を求め、 第 1の閉ループピッチ探索器 5 1 2及び第 1の雑音符号帳探索器 5 1 3に出力する。 第 1の閉ループピッチ探索器 5 1 2は、 適応符号帳 5 1 9 の中から取り出した適応符号べクトルに第 1のィンパルス応答を畳み込むこ とにより、 重み付け合成音声ベクトル (適応符号帳成分) を算出し、 第 1の ターゲットべクトルとの誤差を最小とする適応符号べクトルを生成するピッ チを抽出する。 この時行われるピッチ探索は、 ピッチ候補選択器 5 0 9から 入力されたピッチ候補を用いて行われ、 ピッチ候補の中から選択される。 求められたピッチによって生成される適応符号べクトルは、 第 1の音源生 成器 5 2 1に出力されて音源べクトルの生成に用いられ、 適応符号べクトル にィンパルス応答を畳み込んで生成される第 1の適応符号合成べクトルは、 第 1の雑音符号帳探索器 5 1 3、 第 1のフィル夕状態更新器 5 1 5、 及び第 1のゲイン符号帳採索器 5 1 4に出力される。 第 1の雑音符号帳探索器 5 1 3は、 雑音符号帳 5 2 2の中から取り出した雑音符号べクトルに第 1のイン パルス応答算出器 5 2 0から入力した第 1のィンパルス応答を畳み込むこと により、 重み付け合成音声ベクトル (雑音符号帳成分) を算出し、 第 1の適 応符号合成べクトルと組合わせた場合において、 第 1の夕ーゲットべクトル との誤差を最小とする雑音符号べクトルを選び出す。
選ばれた雑音符号ベクトルは、 第 1の音源生成器 5 2 1に出力され音源べ クトルの生成に用いられる。 また、 雑音符号ベクトルに第 1のインパルス応 答を畳み込んで生成される第 1の雑音符号合成べクトルは、 第 1のゲイン符 号帳探索器 5 1 4及び第 1のフィルタ状態更新器 5 1 5に出力される。 第 1 のゲイン符号帳探索器 5 1 4は、 第 1のターゲット算出器 5 0 5、 第 1の閉 ループピッチ探索器 5 1 2、 及び第 1の雑音符号帳探索器 5 1 3から第 1の ターゲットベクトル、 第 1の適応符号合成ベクトル、 及び第 1の雑音符号合 成ベクトルをそれぞれ入力し、 第 1のターゲットベクトルと、 第 1の適応符 号合成べクトルに量子化適応符号ゲインを乗じたもの及び第 1の雑音符号合 成べクトルに量子化雑音符号ゲインを乗じたものの和のべクトルとの 2乗誤 差が最小となる、 量子化適応符号ゲインと量子化雑音符号ゲインとの組合わ せをゲイン符号帳 5 2 3の中から選択する。 選択された量子化ゲインは、 第 1の音源生成器 5 2 1及び第 1のフィル夕 状態更新器 5 1 5に出力され、 音源ベクトルの生成及び合成フィル夕の状態 更新に用いられる。 第 1の音源生成器 5 2 1は、 第 1の閉ループピッチ探索 器 5 1 2から入力される適応符号ベクトルと、 第 1の雑音符号帳探索器 5 1 4から入力される雑音符号ベクトルとに、 第 1のゲイン符号帳探索器 5 1 4 から入力される量子化ゲイン (適応符号帳成分) 及び量子化ゲイン (雑音符 号帳成分) をそれぞれ乗じ、 量子化ゲイン乗算後の適応符号ベクトルと雑音 符号べクトルの加算を行って第 1サブフレームの音源べクトルを生成する。 生成された第 1サブフレームの音源べクトルは、 適応符号帳に出力されて 適応符号帳を更新する。 第 1のフィルタ状態更新器 5 1 5は、 量子化合成フ ィル夕と重み付け合成フィルタを縦続接続したフィル夕の状態を更新する。 フィル夕の状態は第 1の夕ーゲット算出器 5 0 5から入力されるターゲット べクトルから、 第 1のゲイン符号帳探索器 5 1 4より出力された量子化ゲイ ン (適応符号帳成分) を乗じた第 1の閉ループピッチ探索器 5 1 2より出力 された適応符号合成べクトルと第 1のゲイン符号帳探索器 5 1 4より出力さ れた量子化ゲイン (雑音符号帳成分) を乗じた第 1の雑音符号帳探索器 5 1 3より出力された雑音符号合成べクトルとを、 減じることによって求められ る。 求められたフィルタ状態は、 s t 2として出力され、 第 2サブフレーム のフィルタ状態として第 2の夕一ゲット算出器 5 0 6で使用される。
第 2のターゲット算出器 5 0 6は、 第 2サブフレームの量子化 L P Cであ る Q a 2及び未量子化 L P Cである a 2を用いて量子化合成フィル夕と重み 付け合成フィル夕とを構成し、 第 1サブフレームにおいて第 1のフィル夕状 態更新器 5 1 5で求められたフィルタ状態 s t 2を用いて量子化合成フィル 夕の零入力応答を除去した後の重み付け入力音声信号 (第 2の夕一ゲッ卜べ クトル) を算出し、 第 2の閉ループピッチ探索器 5 1 6、 第 2の雑音符号帳 探索器 5 1 7、 第 2のゲイン符号帳探索器 5 1 8、 及び第 2のフィル夕状態 更新器 5 1 1に第 2の夕ーゲットべクトルを出力する。 第 2のインパルス応答算出器 5 2 5は、 量子化 L P Cである Q a 2を用い て構成された量子化合成フィルタ及び未量子化 L P Cである a 2を用いて構 成された重み付け合成フィル夕とを縦続接続したフィル夕のィンパルス応答 を求め、 第 2の閉ループピッチ探索器 5 1 6及び第 2の雑音符号帳探索器 5 1 7に出力する。 第 2の閉ループピッチ探索器 5 1 6は、 適応符号帳 5 1 9 の中から取り出した適応符号べクトルに第 2のィンパルス応答を畳み込むこ とにより、 重み付け合成音声ベクトル (適応符号帳成分) を算出し、 第 2の 夕ーゲットべクトルとの誤差を最小とする適応符号べクトルを生成するピッ チを抽出する。 この時行われるピッチ探索は、 第 1の閉ループピッチ探索器 5 1 2から入力される第 1サブフレームのピッチ P 1の近傍についてのみ行 われる。
求められたピッチによって生成される適応符号べクトルは、 第 2の音源生 成器 5 2 4に出力されて音源べクトルの生成に用いられ、 適応符号べクトル にィンパルス応答を畳み込んで生成される第 2の適応符号合成べクトルは、 第 2の雑音符号帳探索器 5 1 7、 第 2のフィル夕状態更新器 5 1 1、 及び第 2のゲイン符号帳探索器 5 1 8に出力される。 第 2の雑音符号帳探索器 5 1 7は、 雑音符号帳 5 2 2の中から取り出した雑音符号べクトルに第 2のイン パルス応答算出器 5 2 5から入力した第 2のインパルス応答を畳み込むこと により、 重み付け合成音声ベクトル (雑音符号帳成分) を算出し、 第 2の適 応符号合成ベクトルと組合わせた場合において、 第 2のターゲットベクトル との誤差を最小とする雑音符号べクトルを選び出す。
選ばれた雑音符号べクトルは、 第 2の音源生成器 5 2 4に出力され音源べ クトルの生成に用いられる。 また、 雑音符号ベクトルに第 2のインパルス応 答を畳み込んで生成される第 2の雑音符号合成べクトルは、 第 2のゲイン符 号帳探索器 5 1 8及び第 2のフィルタ状態更新器 5 1 1に出力される。 第 2 のゲイン符号帳探索器 5 1 8は、 第 2の夕一ゲット算出器 5 0 6、 第 2の閉 ループピッチ探索器 5 1 6、 及び第 2の雑音符号帳探索器 5 1 7から第 2の ターゲットベクトル、 第 2の適応符号合成ベクトル、 及び第 2の雑音符号合 成べクトルをそれぞれ入力し、第 2の夕ーゲットべクトルと、 第 2の適応符号 合成べクトルに量子化適応符号ゲインを乗じたもの及び第 2の雑音符号合成 べクトルに量子化雑音符号ゲインを乗じたものの和のべクトルとの 2乗誤差 が最小となる、 量子化適応符号ゲインと量子化雑音符号ゲインとの組合わせ をゲイン符号帳 5 2 3の中から選択する。
選択された量子化ゲインは、 第 2の音源生成器 5 2 4及び第 2のフィル夕 状態更新器 5 1 1に出力され、 音源ベクトルの生成及び合成フィルタの状態 更新に用いられる。 第 2の音源生成器 5 2 4は、 第 2の閉ループピッチ探索 器 5 1 6から入力される適応符号ベクトルと、 第 2の雑音符号帳探索器 5 2 5から入力される雑音符号べクトルとに、 第 2のゲイン符号帳探索器 5 1 8 から入力される量子化ゲイン (適応符号帳成分) 及び量子化ゲイン (雑音符 号帳成分) をそれぞれ乗じ、 量子化ゲイン乗算後の適応符号ベクトル及び雑 音符号べクトルの加算を行って第 2サブフレームの音源べクトルを生成する。 生成された第 2サブフレームの音源ベクトルは、 適応符号帳 5 1 9に出力さ れて適応符号帳 5 1 9を更新する。
第 2のフィルタ状態更新器 5 1 1は、 量子化合成フィル夕と重み付け合成 フィル夕を縦続接続したフィル夕の状態を更新する。 フィル夕の状態は第 2 の夕一ゲット算出器 5 0 6から入力されるタ一ゲットべクトルから、 第 2の ゲイン符号帳探索器 5 1 8より出力された量子化ゲイン (適応符号帳成分) を乗じた第 2の閉ループピッチ探索器 5 1 6より出力された適応符号合成べ クトルと第 2のゲイン符号帳探索器 5 1 8より出力された量子化ゲイン (雑 音符号帳成分) を乗じた第 2の雑音符号帳探索器 5 1 7より出力された雑音 符号合成ベクトルとを、 減じることによって求められる。 求められたフィル 夕状態は、 s t 1として出力され、 次のフレームの第 1サブフレームのフィ ル夕状態として用いられ、 第 1のターゲット算出器 5 0 5で使用される。 なお、 適応符号帳 5 1 9は、 第 1の音源生成器 5 2 1及び第 2の音源生成 器 1 2 4によって生成される音源信号を時間的に並べてバッファリングした ものであり、 閉ループピッチ探索の探索に必要な長さだけ過去に生成した音 源信号を蓄えている。 適応符号帳の更新は、 サブフレーム毎に 1回行われ、 適応符号帳のバッファを 1サブフレーム分シフトした後、 新たに生成しされ た音源信号がバッファの最後にコピーされる。 なお、 サブフレーム分割器 5 0 2によって分割された量子化対象信号のうち、 第 1サブフレームの符号化 処理が先に行われ、 第 1サブフレームの符号化処理がすべておわった後に、 第 2サブフレームの符号化処理が行われ、 第 2サブフレームのピッチ P 2は、 第 1サブフレームのピッチ P 1を用いて差分量子化される。
1フレームの処理が終わると、 L P C量子化器 5 0 7から出力される L P Cデータ L、 第 1の閉ループピッチ探索器 5 1 2から出力されるピッチ P 1 、 第 1の雑音符号帳探索器 5 1 3から出力される雑音符号べクトルデ一夕 S 1 、 第 1のゲイン符号帳探索器 5 1 4から出力されるゲインデータ G l、 第 2の 閉ループピッチ探索器 5 1 6から出力されるピッチ P 2、 第 2の雑音符号帳 探索器 5 1 7から出力される雑音符号ベクトルデータ S 2、 及び第 2のゲイ ン符号帳探索器 5 1 8から出力されるゲインデータ G 2が、 符号化されビッ ト列として伝送路を介して復号器に出力される。
次に、 図 8を用いてピッチ候補選択器 5 0 9の詳細について説明する。 図 8において、 正規化自己相関関数算出器 6 0 1は、 残差信号を入力として、 その正規化自己相関関数を算出し、 第 1の候補選択器 6 0 2に出力する。 第 1の候補選択器 6 0 2は、 正規化自己相関関数算出器 6 0 1から出力された 正規化自己相関関数の中からピッチの探索範囲内において値が大きいものか ら順に予め定められた数だけ (例えば NCAND個) ピッチ候補として最大値探 索器 6 0 3及び第 2の候補選択器 6 0 5に出力する。
最大値探索器 6 0 3は、第 1の候補選択器 6 0 2から出力された上位 NCAND 個の正規化自己相関関数の中から最大値 (ピッチ探索範囲内で最大値となる 正規化自己相関関数の値) を閾値算出器 6 0 4に出力する。 閾値算出器 6 0 4は、 最大値探索器 603から出力された最大正規化自己相関関数の値に予 め定められた閾値定数 Thを乗じて、 第 2の候補選択器 605に出力する。 第 2の候補選択器 605は、 第 1の候補選択器 602から出力された NCA D 個の候補の中から、 閾値算出器 604から出力された閾値を超える正規化自 己相関関数を与えるピッチ候補のみを選択してピッチ候補として出力する。 このような本発明の実施の形態に対する従来のピッチ候補選択器において は、 第 1の候補選択器 602から出力されるピッチ候補をそのまま (閉ルー プピッチ探索器に) 出力するのが一般的である。 その処理のフロ一チャート を示したものが図 2である。 図 2において、 まず、 ST 1において、 残差信 号の正規化自己相関関数 ncor[n〗 (Pmin≤ n≤Pmax, Pminはピッチ探索範 囲の下限、 Pmaxはピッチ探索範囲の上限) を求め、 次いで、 ST2において、 ピッチ候補カウン夕 (ループカウン夕) iをゼロクリアし、 次に ST3にお いて、 ncor[n] (Pmin≤ n≤Pmax) を最大とする nをピッチ候補 P iとし て選択し、 次に ST 4において、 ncor[Pi]を最小値 MINでクリアして P i を ( i + 1) 番目のピッチ候補として pcand[i]にストアして、 ピッチ候補 カウンタ (ループカウン夕) iをインクリメントし、 次いで、 ST 5におい て、 ピッチ候補カウンタ (ループカウン夕) iが予め定められている候補数 NCAND に達したかどうかを判定し、 NCAND に達していなければ S T 3から S T 5のループ処理を繰り返し、 NCAND に達していたらループ処理を終了して ST 6の処理に移り、 NCAND個のピッチ候補を出力する。
しかしながら、 このように正規化自己相関関数が大きくなるものを単に上 位 NCAND個選択するというような方法であると、 それほど正規化自己相関関 数が大きくないものでも下位順位に候補として残る場合がある。 さらに、 こ のような候補が第 1サブフレームに対しては相関が高いが、 第 2サブフレー ムに対しては相関が低いという場合がある。 この場合、 第 1サブフレームに おいて閉ループピッチ探索を行うと、 候補選択器 602では (図 2で選択さ れたピッチ候補の中では) 順位が低くても、 第 1サブフレームにおける閉ル ープピッチ探索で、 最終的なピッチとして選択される場合がある。 このよう なピッチは第 1サブフレームに特化しているため、 第 2サブフレームのピッ チを差分量子化する場合には符号化音声品質を大きく劣化させてしまう。
本発明は、 この問題を解決するために複数のピッチ候補を出力しながらも、 第 2の候補選択器 605を備えることにより、 1フレーム全体で自己相関を 算出した場合にあまり相関値が高くないような候補を出力しないようにして、 第 1サブフレームに特化したピッチが第 1サブフレームの閉ループピッチ探 索時に選ばれることを避けるようにしている。
図 9は図 8に示したピッチ候補選択器 509の処理内容を示すフローチヤ ートである。 図 9において、 まず、 ST20 1において、 残差信号の正規化 自己相関関数 ncor[n], Pmin≤n≤Pmax (Pminはピッチ探索範囲の下限、 Pmax はピッチ探索範囲の上限) を算出する。 次いで、 ST202において、 候補数カウンタ iを 0クリアする。 次に、 ST 203において、 ncor[n]を 最大とする n (Pmin≤n≤pmax) を選択して P 0とする。 次に、 ST204 において、 ncor[P0]の値を ncor_maxに代入してから ncor[P0]を MIN (最 小値) でクリアし、 P 0を第 1のピッチ候補として pCand[0]にストアし、 候補カウンタ iをインクリメントする。
次に、 ST 205において、 S T 203で行われた処理と同じ処理を行つ て ncor[n]を最大とする n (Pmin≤ n≤Pmax) を選択して P iとする。 次 いで、 S T 206において、 ncor [Pi】が閾値 Th X ncor— max以上かどう力、 を判定する。 ここで、 Thは閾値を設定する定数である。 ST 206におい て、 ncor[Pi]が閾値以上と判定されると、 S T 20 7の処理が行われ、 ncor[Pi]は MIN でクリアされ、 P iが ( i + 1) 番目のピッチ候補として pcand[ i ]にストアされて候補カウン夕 iがインクリメントされる。 ST2 07の後、 S T 208において、 候補カウン夕 iが予め定められた数 (NC AND) に達したかどうかが判定され、 NC ANDに達していなければ S T 205の処理に戻り、 ST205、 S T 206, S T 207の候補選択のル ープ処理を繰り返す。
ST 208において、 ループカウン夕 iが NC ANDに達していたら、 候 補選択のループ処理を終了し、 ST 209の処理に移行する。 また、 ST2 06において、 ncor[Pi]が閾値未満である場合も処理は ST 209に移り、 候補選択を終了する処理に移行する。 ST 209においては、 候補カウン夕 iの値が候補数 ncanにストアされる。 最後に S T 210において、 ピッチ候 補 pcand[ n ] ( 0≤ n<ncan)とピッチ候補数 ncan力出力される。
図 10は本発明の実施の形態 2における複号化装置を示すブロック図であ る。 以下、 図 10を参照してその構成及び動作を説明する。 図 10において、 L PC復号器 80 1は、 符号器側から伝送された L P Cの情報 Lから L P C を復号して LPC補間器 802に出力する。 乙?(:補間器802は、 LPC 復号器 80 1から出力された L P Cを入力して補間処理の後、 第 1及び第 2 サブフレームの量子化 (復号) LP Cである q a 1及び Q a 2を合成フィル 夕 810に出力する。
適応符号べクトル復号器 803は、 符号器側から伝送されてきた第 1サブ フレーム及び第 2サブフレームのピッチ情報 P 1及び P 2を入力し、 ピッチ P 1 , P 2に基づいて適応符号帳 804から適応符号べクトルを取り出して 音源生成器 809に出力する。
適応符号帳 804は、 音源生成器 809から出力された音源べクトルをサ ブフレーム毎に更新しながらバッファリングし、 適応符号ベクトル復号器に 出力する。 雑音符号ベクトル復号器 805は、 符号器側から伝送されてきた 第 1及び第 2サブフレームの雑音符号帳情報 S 1, S 2を入力し、 S l, S 2に対応する雑音符号べクトルを雑音符号帳から取り出して音源生成器 80 9に出力する。 雑音符号帳 806は、 符号器側の符号帳と同一の内容を格納 しており、 雑音符号ベクトルを雑音符号ベクトル復号器 805に出力する。 ゲイン復号器 807は、 符号器側から伝送されてきた第 1及び第 2サブフ レームのゲイン情報 G l, G 2を入力し、 G l, G 2に対応するゲインをゲ イン符号帳 8 0 8から取り出して量子化ゲインを復号し、 音源生成器 8 0 9 に出力する。 ゲイン符号帳 8 0 8は、 符号器のものと同一の内容を格納して おり、 量子化ゲインをゲイン符号器 8 0 7に出力する。 音源生成器 8 0 9は、 適応符号ベクトル、 雑音符号ベクトル、 及び復号ゲインをそれぞれ適応符号 べクトル復号器 8 0 3、 雑音符号べクトル復号器 8 0 5、 及びゲイン復号器 8 0 7からそれぞれ入力し、 生成した音源べクトルを合成フィルタ 8 1 0及 び適応符号帳 8 0 4に出力する。
合成フィルタ 8 1 0は、 L P C補間器 8 0 2から出力された q a 1, q a 2を用いて合成フィルタを構築し、 音源生成器 8 0 9から出力された音源べ クトルをフィルタ入力としてフィル夕処理を行い、 サブフレームバッファ 8 1 1に復号音声信号を出力する。 サブフレームバッファ 8 1 1は、 合成フィ ル夕 8 1 0から出力された復号音声信号を 1サブフレーム分蓄積し、 フレー ムバッファ 8 1 2に出力する。 フレームバッファ 8 1 2は、 サブフレームバ ッファ 8 1 1から出力された 1サブフレーム分の復号音声信号を入力とし、 1フレーム (2サブフレーム) 分だけ蓄積し、 出力する。
上記構成を有する復号器について、 以下にその動作を図 1 0を参照しなが ら説明する。 符号器側から伝送されてきた L P C情報 Lは、 L P C復号器 8 0 1によって復号される。 復号 L P Cは、 L P C補間器 8 0 2によって符号 器側と同様に補間処理が行われ、 第 1サブフレームの量子化 L P Cである Q a 1及び第 2サブフレームの量子化 L P Cである q a 2とを得る。 補間処理 は直前のフレームにおいて復号した q a 2及び現フレームにおいて復号した Q a 2の L S P領域における直線補間によって Q a 1を求める処理である。 なお、 Q a 2は伝送されてきた L P C情報 Lから復号された L P Cをそのま ま用いる。 q a 1は第 1サブフレームの合成フィルタを構成するのに用いら れ、 Q a 2は第 2サブフレームの合成フィルタを構成するのに用いられる。 符号器側から伝送されてきた第 1及び第 2サブフレームのピッチ情報 P 1 , P 2は適応符号ベクトル復号器 8 0 3に入力される。 ここで、 ? 2は 1を 用いて差分量子化されているので、 実際に第 2サブフレームで用いられるピ ツチは " P 1 + P 2 "によって求められる。
まず、 P 1を用いて第 1サブフレームの適応符号べクトルが適応符号帳 8 0 4から切り出されて復号適応符号べクトルとして音源生成器 8 0 9に出力 される。 符号器側から伝送されてきた第 1及び第 2サブフレームの雑音符号 情報第 S l, S 2は、 雑音符号ベクトル復号器に入力され、 まず、 S 1を用 いて第 1サブフレームの雑音符号べクトルが雑音符号帳 8 0 6から取り出さ れて音源生成器 8 0 9に出力される。
符号器側から伝送されてきたゲイン情報 G 1 , G 2は、 ゲイン復号器 8 0 7に入力され、 まず、 G 1を用いて第 1サブフレームのゲインがゲイン符号 帳 8 0 8から取り出され適応符号ゲイン及び雑音符号ゲインが復号されて音 源生成器 8 0 9に出力される。 音源生成器 8 0 9は、 適応符号ベクトル復号 器 8 0 3から出力された適応符号べクトルにゲイン復号器 8 0 7から出力さ れた適応符号ゲインとを乗算したべクトルと、 雑音符号べクトル復号器 8 0 5から出力された雑音符号べクトルとゲイン復号器 8 0 7から出力された雑 音符号ゲインとを乗算したべクトルとの加算を行い、 合成フィル夕に出力す る。
合成フィル夕に出力された復号音源べクトルは、 同時に適応符号帳 8 0 4 にも出力され、 次のサブフレームで用いる適応符号帳の一部となる。 合成フ ィル夕 8 1 0は、 音源生成器 8 0 9から出力された復号音源ベクトルを入力 として q a 1を用いて構成した合成フィル夕を用いて第 1サブフレームの復 号音声を合成し、 サブフレームバッファ 8 1 1に出力する。 サブフレームバ ッファ 8 1 1の内容は、 フレームバッファ 8 1 2の前半にコピーされる。 次 に、 第 2サブフレームのピッチ情報 P 2 (と P 1 ) 、 雑音符号情報 S 2、 ゲ イン情報 G 2、 及び復号 L P Cである Q a 2を用いて同様の音声復号処理が 行われ、 第 2サブフレームの復号音声信号がサブフレ一ムバッファ 8 1 1に 出力され、 フレームバッファ 8 1 2の後半にコピーされる。 最後に、 フレー ムバッファ 8 1 2にバッファリングされた 2サブフレーム ( 1フレーム) 分 の復号音声信号が復号器から出力されて、 1フレームの音声信号の復号処理 が終わる。 '
なお、 本実施の形態においては、 ピッチ候補選択器 5 0 9においてピッチ 候補の選択を行う際の入力信号を残差信号としているが、 実施の形態 1にお けるピッチ候補選択器 1 0 9に示したように、 重み付け入力音声信号で行う こともできる。
このように上記実施の形態によれば、 差分量子化されるサブフレームを含 めた入力データからピッチ候補を求める際に、 一つ以上の候補を残すことに よってより精度の良いピッチ探索を実現し、 かつ、 複数個の候補を残しすぎ ることによって差分量子化しないサブフレームに特化したピッチが選択され る危険性を回避することができる音声符号化装置及び音声符号化復号化装置 を実現することができる。
(実施の形態 3 )
図 1 1は本発明の実施の形態 1, 2のいずれかの音声符号化装置又は音声 復号化装置を備えた音声信号送信機及び受信機を示すプロック図である。 図 1 1において、 音声信号入力装置 9 0 1は、 マイク等の音声信号を電気的信 号に変換して AZD変換器 9 0 2に出力する。 八 0変換器9 0 2は、 音声 信号入力装置から出力されたアナログ音声信号をディジ夕ル信号に変換して 音声符号化器 9 0 3に出力する。
音声符号化器 9 0 3は、 本発明の実施の形態 1 , 2の音声符号化装置によ つて音声符号化を行って R F変調器 9 0 4に出力する。 R F変調器 9 0 4は、 音声符号化器 9 0 3によって符号化された音声情報を電波等の伝播媒体に載 せて送出するための信号に変換し、 送信アンテナ 9 0 5に出力する。 送信ァ ンテナ 9 0 5は、 R F変調器 9 0 4から出力された送出信号を電波 (R F信 号) として送出する。 なお、 図中 9 0 6は送信アンテナ 9 0 5から送出され た電波 (R F信号) を示す。 また、 受信アンテナ 9 0 7は、 電波 (R F信号) 9 0 6を受信して R F変 調器 9 0 8に出力する。 R F復調器 9 0 8は、 受信アンテナ 9 0 7から入力 した受信信号を符号化された音声信号に変換して音声複号化器 9 0 9へ出力 する。 音声復号化器 9 0 9は、 R F復調器から出力された符号化された音声 信号を入力として本発明の実施の形態 1, 2に示す音声復号化装置によって 復号処理を行い、 復号音声信号を D ZA変換器 9 1 0に出力する。 D ZA変 換器 9 1 0は、 音声復号化器 9 0 9から復号音声信号を入力してアナログ音 声信号に変換し、 音声出力装置 9 1 1に出力する。 スピーカ等の音声出力装 置 9 1 1は、 DZA変換器からアナログ音声信号を入力して音声を出力する。 上記構成を有する音声信号送信機及び受信機について、 図 1 1を参照して 説明する。 まず、 音声が音声入力装置 9 0 1によって電気的アナログ信号に 変換され、 AZD変換器 9 0 2に出力される。 続いて前記アナログ音声信号 が A/D変換器 9 0 2によってディジタル音声信号に変換され、 音声符号化 器 9 0 3に出力される。 続いて、 音声符号化器 9 0 3は音声符号化処理を行 い、 符号化した情報を R F変調器 9 0 4に出力する。 続いて、 R F変調器は 符号化された音声信号の情報を変調 ·増幅 ·符号拡散等の電波として送出す るための操作を行い、 送信アンテナ 9 0 5に出力する。 最後に、 送信アンテ ナ 9 0 5から電波 (R F信号) 9 0 6が送出される。
一方、 受信機においては、 電波 (R F信号) 9 0 6を受信アンテナ 9 0 7 で受信し、 受信信号は R F復調器 9 0 8に送られる。 R F復調器 9 0 8は、 符号逆拡散 ·復調等電波信号を符号化情報に変換するための処理を行い、 符 号化情報を音声復号化器 9 0 9に出力する。 音声復号化器 9 0 9は、 符号化 情報の復号処理を行ってディジタル復号音声信号を D Z A変換器 9 1 0へ出 力する。 07八変換器9 1 0は、 音声復号化器 9 0 9から出力されたデイジ 夕ル復号音声信号をアナログ復号音声信号に変換して音声出力装置 9 1 1に 出力する。 最後に音声出力装置 9 1 1が電気的アナログ復号音声信号を復号 音声に変換して出力する。 上記送信機及び受信機は、 携帯電話等の移動通信機器の移動機または基地 局装置に利用することが可能である。 なお、 情報を伝送する媒体は本実施の 形態に示したような電波に限らず、 光信号などを利用することも可能であり、 さらには有線の伝送路を使用することも可能である。
なお、 上記実施の形態 1及び 2に示す音声符号化装置又は音声復号化装置、 並びに上記実施の形態 3に示す送信装置及び受信装置は、 磁気ディスク、 光 磁気ディスク、 R O Mカートリッジ等の記録媒体にソフトウェアとして記録 して実現することも可能であり、 その記録媒体を使用することにより、 この ような記録媒体を使用するパーソナルコンピュータ等により音声符号化装置 Z復号化装置及び送信装置 受信装置を実現するとができる。
本発明の音声符号化装置及び音声復号化装置は、 ディジ夕ル無線通信シス テムにおける基地局装置及び通信端末装置の送信装置や受信装置に適用する ことができる。
以上説明したように本発明の音声符号化装置は、 入力信号の周期性とピッ チ情報を差分量子化する複数のサブフレームのピッチを代表でき、 かつ適応 符号帳のピッチラグとしても適切なピッチを抽出できる。 本発明においては、 複数のピッチ候補を予備選択してからサブフレーム毎にピッチの本選択を行 う構成において、 複数のピッチ候補を予備選択する際に閾値処理によって予 備選択候補数に制限を加えることにより、 ピッチ周期をサブフレーム間で差 分量子化する場合に、 音声品質の劣化を抑えることが可能である。
また、 本発明によれば、 上記音声符号化装置又は音声復号化装置を音声符 号化器又は音声復号化器として備えることにより、 より高品質な音声品質を 提供できる送信装置又は受信装置を実現できる。
本明細書は、 1 9 9 8年 1 0月 2 7日出願の特顧平 1 0— 3 0 5 7 4 0号 に基づく。 この内容はここに含めておく。 産業上の利用可能性 本発明の CE LP型音声符号化装置は、 ディジタル無線通信システムにお ける移動局などの通信端末装置や基地局装置に適用することができる。

Claims

請求の範囲
1 . 音声のスぺクトル特性を表すパラメ一夕を符号化するパラメ一夕符号化 手段と、 過去に生成した駆動音源べクトルを格納した適応符号帳を用いて駆 動音源の周期性を符号化する周期性符号化手段と、 予め定められた駆動音源 べクトルを格納する雑音符号帳を用いて前記適応符号帳では表すことが不可 能である駆動音源成分を符号化する音源成分符号化手段と、 を具備し、 前記周期性符号化手段は、 単位フレームを分割して得られるサブフレーム のうち、 適応符号帳のピッチが差分量子化されていないサブフレームにおけ る適応符号帳のピッチの予備選択を行い、 少なくとも 1つのピッチ候補を適 応的に選択するピツチ候補選択手段を備える C E L P型音声符号化装置。
2 . 前記ピッチ候補選択手段は、 過去の重み付け入力音声信号及び新しい重 み付け入力音声信号を用いて正規化自己相関関数を求める自己相関関数算出 手段と、 適応符号帳のピッチに応じて前記自己相関関数を複数のレンジに分 類する分類手段と、 それぞれのレンジにおける自己相関関数の最大値及びそ の自己相関関数に対応するピッチを探索する複数の探索手段と、 前記複数の 探索手段で採索された自己相関関数から所定の閾値を求める閾値算出手段と、 前記複数の探索手段で探索された自己相関関数のうち前記閾値を超える自己 相関関数に対応するピッチを選択する選択手段と、 を具備する請求項 1記載 の C E L P型音声符号化装置。
3 . 音声信号を電気的信号に変換する音声入力装置と、 前記音声入力信号装 置から出力される信号に符号化処理を行う C E L P型音声符号化装置と、 こ の C E L P型音声符号化装置器から出力される符号化信号を送信する送信装 置と、 を具備し、
前記 C E L P型音声符号化装置は、 音声のスぺクトル特性を表すパラメ一 夕を符号化するパラメ一夕符号化手段と、 過去に生成した駆動音源ベクトル を格納した適応符号帳を用いて駆動音源の周期性を符号化する周期性符号化 手段と、 予め定められた駆動音源べクトルを格納する雑音符号帳を用いて前 記適応符号帳では表すことが不可能である駆動音源成分を符号化する音源成 分符号化手段と、 を具備し、 前記周期性符号化手段は、 単位フレームを分割 して得られるサブフレームのうち、 適応符号帳のピッチが差分量子化されて いないサブフレームにおける適応符号帳のピッチの予備選択を行い、 少なく とも 1つのピッチ候補を適応的に選択するピッチ候補選択手段を備える音声
4 . 音声のスぺクトル特性を表すパラメ一夕の符号化情報を複号化する手段 と、 過去に生成した駆動音源べクトルを格納した適応符号帳を用いて適応符 号べクトルを復号化する手段と、 予め定められた駆動音源べクトルを格納す る雑音符号帳を用いて雑音符号ベクトルを復号化する手段と、 適応符号帳成 分と雑音符号帳成分の振幅を復号化する手段と、 を備える C E L P型音声復 号化装置と、 C E L P型音声符号化装置と、 を具備し、
前記 C E L P型音声符号化装置は、 音声のスぺクトル特性を表すパラメ一 夕を符号化するパラメータ符号化手段と、 過去に生成した駆動音源べクトル を格納した適応符号帳を用いて駆動音源の周期性を符号化する周期性符号化 手段と、 予め定められた駆動音源べクトルを格納する雑音符号帳を用いて前 記適応符号帳では表すことが不可能である駆動音源成分を符号化する音源成 分符号化手段と、 を具備し、 前記周期性符号化手段は、 単位フレームを分割 して得られるサブフレームのうち、 適応符号帳のピッチが差分量子化されて いないサブフレームにおける適応符号帳のピッチの予備選択を行い、 少なく とも 1つのピッチ候補を適応的に選択するピッチ候補選択手段を備える音声 符号化復号化装置。
5 . 音声符号化復号化装置と、 音声信号を電気的信号に変換する音声入力装 置と、 C E L P型音声符号化装置器から出力される符号化信号を送信する送 信装置と、 復号化処理された信号を音声信号に変換して出力する音声出力装 置と、 具備し、
前記音声符号化復号化装置は、 音声のスぺクトル特性を表すパラメ一夕の 符号化情報を復号化する手段と、 過去に生成した駆動音源べクトルを格納し た適応符号帳を用いて適応符号べクトルを復号化する手段と、 予め定められ た駆動音源べクトルを格納する雑音符号帳を用いて雑音符号べクトルを復号 化する手段と、 適応符号帳成分と雑音符号帳成分の振幅を復号化する手段と、 を備える C E L P型音声復号化装置と、 C E L P型音声符号化装置と、 を具 備し、
前記 C E L P型音声符号化装置は、 音声のスぺクトル特性を表すパラメ一 夕を符号化するパラメ一夕符号化手段と、 過去に生成した駆動音源べクトル を格納した適応符号帳を用いて駆動音源の周期性を符号化する周期性符号化 手段と、 予め定められた駆動音源べクトルを格納する雑音符号帳を用いて前 記適応符号帳では表すことが不可能である駆動音源成分を符号化する音源成 分符号化手段と、 を具備し、 前記周期性符号化手段は、 単位フレームを分割 して得られるサブフレームのうち、 適応符号帳のピッチが差分量子化されて いないサブフレームにおける適応符号帳のピッチの予備選択を行い、 少なく とも 1つのピッチ候補を適応的に選択するピッチ候補選択手段を備える音声
6 . 音声信号送受信装置を備えた基地局装置であって、 前記音声信号送受信 装置は、 音声符号化復号化装置と、 音声信号を電気的信号に変換する音声入 力装置と、 C E L P型音声符号化装置器から出力される符号化信号を送信す る送信装置と、 復号化処理された信号を音声信号に変換して出力する音声出 力装置と、 具備し、
前記音声符号化復号化装置は、 音声のスぺクトル特性を表すパラメ一夕の 符号化情報を復号化する手段と、 過去に生成した駆動音源べクトルを格納し た適応符号帳を用いて適応符号べクトルを復号化する手段と、 予め定められ た駆動音源べクトルを格納する雑音符号帳を用いて雑音符号べクトルを復号 化する手段と、 適応符号帳成分と雑音符号帳成分の振幅を復号化する手段と、 を備える C E L P型音声複号化装置と、 C E L P型音声符号化装置と、 を具 備し、
前記 C E L P型音声符号化装置は、 音声のスぺクトル特性を表すパラメ一 夕を符号化するパラメ一夕符号化手段と、 過去に生成した駆動音源べクトル を格納した適応符号帳を用いて駆動音源の周期性を符号化する周期性符号化 手段と、 予め定められた駆動音源ベクトルを格納する雑音符号帳を用いて前 記適応符号帳では表すことが不可能である駆動音源成分を符号化する音源成 分符号化手段と、 を具備し、 前記周期性符号化手段は、 単位フレームを分割 して得られるサブフレームのうち、 適応符号帳のピッチが差分量子化されて いないサブフレームにおける適応符号帳のピッチの予備選択を行い、 少なく とも 1つのピッチ候補を適応的に選択するピッチ候補選択手段を備える。
7 . 音声信号送受信装置を備えた通信端末装置であって、 前記音声信号送受 信装置は、 音声符号化復号化装置と、 音声信号を電気的信号に変換する音声 入力装置と、 C E L P型音声符号化装置器から出力される符号化信号を送信 する送信装置と、 複号化処理された信号を音声信号に変換して出力する音声 出力装置と、 具備し、
前記音声符号化復号化装置は、 音声のスぺクトル特性を表すパラメ一夕の 符号化情報を復号化する手段と、 過去に生成した駆動音源べクトルを格納し た適応符号帳を用いて適応符号べクトルを復号化する手段と、 予め定められ た駆動音源べクトルを格納する雑音符号帳を用いて雑音符号べクトルを復号 化する手段と、 適応符号帳成分と雑音符号帳成分の振幅を復号化する手段と、 を備える C E L P型音声復号化装置と、 C E L P型音声符号化装置と、 を具 備し、
前記 C E L P型音声符号化装置は、 音声のスぺクトル特性を表すパラメ一 夕を符号化するパラメ一夕符号化手段と、 過去に生成した駆動音源べクトル を格納した適応符号帳を用いて駆動音源の周期性を符号化する周期性符号化 手段と、 予め定められた駆動音源べクトルを格納する雑音符号帳を用いて前 記適応符号帳では表すことが不可能である駆動音源成分を符号化する音源成 分符号化手段と、 を具備し、 前記周期性符号化手段は、 単位フレームを分割 して得られるサブフレームのうち、 適応符号帳のピッチが差分量子化されて いないサブフレームにおける適応符号帳のピッチの予備選択を行い、 少なく とも 1つのピッチ候補を適応的に選択するピッチ候補選択手段を備える。
8 . 音声のスペクトル特性を表すパラメ一夕を符号化するパラメ一夕符号化 工程と、 過去に生成した駆動音源べクトルを格納した適応符号帳を用いて駆 動音源の周期性を符号化する周期性符号化工程と、 予め定められた駆動音源 べクトルを格納する雑音符号帳を用いて前記適応符号帳では表すことが不可 能である駆動音源成分を符号化する音源成分符号化工程と、 を具備し、 前記周期性符号化工程は、 単位フレームを分割して得られるサブフレーム のうち、 適応符号帳のピッチが差分量子化されていないサブフレームにおけ る適応符号帳のピッチの予備選択を行い、 少なくとも 1つのピッチ候補を適 応的に選択するピッチ候補選択工程を含む C E L P型音声符号化方法。
9 . 前記ピッチ候補選択工程は、 過去の重み付け入力音声信号及び新しい重 み付け入力音声信号を用いて正規化自己相関関数を求める工程と、 適応符号 帳のピッチに応じて前記自己相関関数を複数のレンジに分類する工程と、 そ れぞれのレンジにおける自己相関関数の最大値及びその自己相関関数に対応 するピッチを探索する工程と、 探索された自己相関関数から所定の閾値を求 める工程と、 探索された自己相関関数のうち前記閾値を超える自己相関関数 に対応するピッチを選択する工程と、 を具備する請求項 8記載の C E L P型 音声符号化方法。
1 0 . コンピュータに、 過去の重み付け入力音声信号及び新しい重み付け入 力音声信号を用いて正規化自己相関関数を求める手順と、 適応符号帳のピッ チに応じて前記自己相関関数を複数のレンジに分類する手順と、 それぞれの レンジにおける自己相関関数の最大値及びその自己相関関数に対応するピッ チを探索する手順と、 前記探索された自己相関関数から所定の閾値を求める 手順と、 前記探索された自己相関関数のうち前記閾値を超える自己相関関数 に対応するピッチを選択する手順と、 を実現させるためのプログラムを記録 した機械読み取り可能な記録媒体。
PCT/JP1999/005885 1998-10-27 1999-10-26 Codeur vocal plec WO2000025302A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AT99949404T ATE456127T1 (de) 1998-10-27 1999-10-26 Celp sprachkodierer
EP99949404A EP1041541B1 (en) 1998-10-27 1999-10-26 Celp voice encoder
DE69941947T DE69941947D1 (de) 1998-10-27 1999-10-26 Celp sprachkodierer
US09/582,039 US6804639B1 (en) 1998-10-27 1999-10-26 Celp voice encoder
AU62301/99A AU6230199A (en) 1998-10-27 1999-10-26 Celp voice encoder

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP30574098A JP3343082B2 (ja) 1998-10-27 1998-10-27 Celp型音声符号化装置
JP10/305740 1998-10-27

Publications (1)

Publication Number Publication Date
WO2000025302A1 true WO2000025302A1 (fr) 2000-05-04

Family

ID=17948780

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/005885 WO2000025302A1 (fr) 1998-10-27 1999-10-26 Codeur vocal plec

Country Status (8)

Country Link
US (1) US6804639B1 (ja)
EP (1) EP1041541B1 (ja)
JP (1) JP3343082B2 (ja)
CN (1) CN1139912C (ja)
AT (1) ATE456127T1 (ja)
AU (1) AU6230199A (ja)
DE (1) DE69941947D1 (ja)
WO (1) WO2000025302A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110114829A (zh) * 2017-01-12 2019-08-09 高通股份有限公司 基于特征的话语码本选择

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
KR100463417B1 (ko) * 2002-10-10 2004-12-23 한국전자통신연구원 상관함수의 최대값과 그의 후보값의 비를 이용한 피치검출 방법 및 그 장치
TWI225637B (en) * 2003-06-09 2004-12-21 Ali Corp Method for calculation a pitch period estimation of speech signals with variable step size
EP1513137A1 (en) * 2003-08-22 2005-03-09 MicronasNIT LCC, Novi Sad Institute of Information Technologies Speech processing system and method with multi-pulse excitation
JP4789430B2 (ja) * 2004-06-25 2011-10-12 パナソニック株式会社 音声符号化装置、音声復号化装置、およびこれらの方法
DE102005000828A1 (de) * 2005-01-05 2006-07-13 Siemens Ag Verfahren zum Codieren eines analogen Signals
JP5174651B2 (ja) * 2005-03-09 2013-04-03 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 低演算量符号励振線形予測符号化
US8781842B2 (en) * 2006-03-07 2014-07-15 Telefonaktiebolaget Lm Ericsson (Publ) Scalable coding with non-casual predictive information in an enhancement layer
US7752038B2 (en) * 2006-10-13 2010-07-06 Nokia Corporation Pitch lag estimation
EP2101320B1 (en) * 2006-12-15 2014-09-03 Panasonic Corporation Adaptive excitation vector quantization apparatus and adaptive excitation vector quantization method
PT2313887T (pt) 2008-07-10 2017-11-14 Voiceage Corp Dispositivo e método de quantificação de filtro de lpc de taxa de bits variável e quantificação inversa
US9123328B2 (en) * 2012-09-26 2015-09-01 Google Technology Holdings LLC Apparatus and method for audio frame loss recovery
CN103137135B (zh) * 2013-01-22 2015-05-06 深圳广晟信源技术有限公司 Lpc系数量化方法和装置及多编码核音频编码方法和设备
WO2021000724A1 (zh) * 2019-06-29 2021-01-07 华为技术有限公司 一种立体声编码方法、立体声解码方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131000A (ja) * 1992-10-15 1994-05-13 Nec Corp 基本周期符号化装置
JPH0764600A (ja) * 1993-08-26 1995-03-10 Nec Corp 音声のピッチ符号化装置
EP0694907A2 (en) * 1994-07-19 1996-01-31 Nec Corporation Speech coder

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4696038A (en) * 1983-04-13 1987-09-22 Texas Instruments Incorporated Voice messaging system with unified pitch and voice tracking
ES2225321T3 (es) * 1991-06-11 2005-03-16 Qualcomm Incorporated Aparaato y procedimiento para el enmascaramiento de errores en tramas de datos.
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
US5778335A (en) * 1996-02-26 1998-07-07 The Regents Of The University Of California Method and apparatus for efficient multiband celp wideband speech and music coding and decoding
KR20030096444A (ko) * 1996-11-07 2003-12-31 마쯔시다덴기산교 가부시키가이샤 음원 벡터 생성 장치 및 방법
US6493665B1 (en) * 1998-08-24 2002-12-10 Conexant Systems, Inc. Speech classification and parameter weighting used in codebook search
US6188980B1 (en) * 1998-08-24 2001-02-13 Conexant Systems, Inc. Synchronized encoder-decoder frame concealment using speech coding parameters including line spectral frequencies and filter coefficients

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131000A (ja) * 1992-10-15 1994-05-13 Nec Corp 基本周期符号化装置
JPH0764600A (ja) * 1993-08-26 1995-03-10 Nec Corp 音声のピッチ符号化装置
EP0694907A2 (en) * 1994-07-19 1996-01-31 Nec Corporation Speech coder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110114829A (zh) * 2017-01-12 2019-08-09 高通股份有限公司 基于特征的话语码本选择
CN110114829B (zh) * 2017-01-12 2023-11-28 高通股份有限公司 基于特征的话语码本选择

Also Published As

Publication number Publication date
CN1139912C (zh) 2004-02-25
DE69941947D1 (de) 2010-03-11
EP1041541B1 (en) 2010-01-20
US6804639B1 (en) 2004-10-12
JP3343082B2 (ja) 2002-11-11
EP1041541A1 (en) 2000-10-04
EP1041541A4 (en) 2005-07-20
JP2000132197A (ja) 2000-05-12
AU6230199A (en) 2000-05-15
CN1287658A (zh) 2001-03-14
ATE456127T1 (de) 2010-02-15

Similar Documents

Publication Publication Date Title
JP4005359B2 (ja) 音声符号化及び音声復号化装置
EP2805324B1 (en) System and method for mixed codebook excitation for speech coding
WO2000025302A1 (fr) Codeur vocal plec
WO1998006091A1 (fr) Codec vocal, support sur lequel est enregistre un programme codec vocal, et appareil mobile de telecommunications
WO2001052241A1 (en) Multi-mode voice encoding device and decoding device
JPH0990995A (ja) 音声符号化装置
EP1563489A1 (en) Method and apparatus for coding gain information in a speech coding system
US5692101A (en) Speech coding method and apparatus using mean squared error modifier for selected speech coder parameters using VSELP techniques
JP3199142B2 (ja) 音声の励振信号符号化方法および装置
JP2003044099A (ja) ピッチ周期探索範囲設定装置及びピッチ周期探索装置
JP2538450B2 (ja) 音声の励振信号符号化・復号化方法
JPH1063300A (ja) 音声復号化装置及び音声符号化装置
JP3144284B2 (ja) 音声符号化装置
JP3299099B2 (ja) 音声符号化装置
JP3292227B2 (ja) 符号励振線形予測音声符号化方法及びその復号化方法
JP2002073097A (ja) Celp型音声符号化装置とcelp型音声復号化装置及び音声符号化方法と音声復号化方法
JPH0519796A (ja) 音声の励振信号符号化・復号化方法
JPH0573097A (ja) 低遅延符号駆動形予測符号化方法
JP3199128B2 (ja) 音声の符号化方法
JP2003015699A (ja) 固定音源符号帳並びにそれを用いた音声符号化装置及び音声復号化装置
JPH0519794A (ja) 音声の励振周期符号化方法
JP2001100799A (ja) 音声符号化装置、音声符号化方法および音声符号化アルゴリズムを記録したコンピュータ読み取り可能な記録媒体
JP2000347700A (ja) Celp型音声復号化装置及びcelp型音声復号化方法
WO2000008633A1 (fr) Generateur de signaux d&#39;excitation, codeur vocal et decodeur vocal
JP2000148195A (ja) 音声符号化装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99801846.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 09582039

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1999949404

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1999949404

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642