Fast code-vector searching
First Claim
1. An apparatus for selecting an optimal pulse vector from a pulse vector codebook, wherein the optimal pulse vector is used by a linear prediction coder to encode a residual waveform, the apparatus comprising:
- an impulse response generator for outputting an impulse response vector;
a correlation element configured to receive the impulse response vector and a plurality of target signal samples, to output an autocorrelation value based on the impulse response vector, and to output a cross-correlation vector based on a composite impulse response vector and the plurality of target signal samples, wherein the composite impulse response vector is determined using the impulse response vector; and
a pulse energy determination element configured to generate an energy value using a pulse vector from the pulse vector codebook, a composite pulse vector that is determined using the pulse vector, and the autocorrelation value, wherein the energy value and the autocorrelation value are used by a metric calculator to determine a ratio value that is used to select the optimal pulse vector.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for quickly selecting an optimal excitation waveform from a codebook are presented herein. In encoding schemes that use forward and backward pitch enhancement, storage and processor load is reduced by approximating a two-dimensional autocorrelation matrix with a one-dimensional autocorrelation vector. The approximation is possible when a cross-correlation element is configured to determine the autocorrelation matrix of an impulse response and a pulse energy determination element is configured to determine the energy of a pulse code vector that incorporates secondary pulse positions.
-
Citations
8 Claims
-
1. An apparatus for selecting an optimal pulse vector from a pulse vector codebook, wherein the optimal pulse vector is used by a linear prediction coder to encode a residual waveform, the apparatus comprising:
-
an impulse response generator for outputting an impulse response vector;
a correlation element configured to receive the impulse response vector and a plurality of target signal samples, to output an autocorrelation value based on the impulse response vector, and to output a cross-correlation vector based on a composite impulse response vector and the plurality of target signal samples, wherein the composite impulse response vector is determined using the impulse response vector; and
a pulse energy determination element configured to generate an energy value using a pulse vector from the pulse vector codebook, a composite pulse vector that is determined using the pulse vector, and the autocorrelation value, wherein the energy value and the autocorrelation value are used by a metric calculator to determine a ratio value that is used to select the optimal pulse vector. - View Dependent Claims (2, 3, 4, 5)
a pulse vector generator for generating the pulse vector codebook;
a pitch sharpener configured to receive the pulse vector and of generating the composite pulse vector; and
an energy computation element configured to receive the pulse vector from the pulse vector generator, the composite pulse vector from the pitch sharpener, and the autocorrelation vector from the correlation element, and to determine the energy value.
-
-
4. The apparatus of claim 3, wherein the pitch sharpener determines the composite pulse vector in accordance with a predetermined pitch lag parameter and a predetermined pitch gain parameter.
-
5. The apparatus of claim 3, wherein the energy computation element determines the energy value in accordance with the formula:
-
wherein Eyy is die energy value, gp is a pitch gain value, px is the pulse position at the xth element in a pulse vector, and φ
( ) is the autocorrelation vector of the impulse response.
-
-
6. An apparatus for encoding a residual waveform, comprising:
-
a memory element; and
a processor configured to implement an instruction set stored in the memory element, the instruction set for;
determining an autocorrelation value associated with an impulse response vector;
determining a cross-correlation value associated with a target signal and a pitch-sharpened impulse response vector, wherein the pitch-sharpened impulse response vector is determined from the impulse response vector;
determining an energy value for each pulse vector from a plurality of pulse vectors, wherein the energy value is determined using each pulse vector and a pitch-sharpened pulse vector associated with each pulse vector; and
using the plurality of energy values and the cross-correlation value to determine a plurality of ratios, wherein the residual waveform is encode by using the pulse vector that provides a maximal ratio.
-
-
7. A method for selecting an optimal pulse vector from a codebook of pulse vectors, comprising:
-
determining an autocorrelation value associated with an impulse response vector;
determining a cross-correlation value associated with a target signal and a pitch-sharpened impulse response vector, wherein the pitch-sharpened impulse response vector is determined from the impulse response vector;
determining an energy value for each pulse vector from a plurality of pulse vectors, wherein the energy value is determined using each pulse vector and a pitch-sharpened pulse vector associated with each pulse vector; and
using the plurality of energy values and the cross-correlation value to determine a plurality of ratios, wherein the residual waveform is encoded by using the pulse vector that is selected as having the highest ratio of the plurality of ratios.
-
-
8. An apparatus for selecting an optimal pulse vector from a codebook of pulse vectors, comprising:
-
means for determining an autocorrelation value associated with an impulse response vector;
means for determining a cross-correlation value associated with a target signal and a pitch-sharpened impulse response vector, wherein the pitch-sharpened impulse response vector is determined from the impulse response vector;
means for determining an energy value for each pulse vector from a plurality of pulse vectors, wherein the energy value is determined using each pulse vector and a pitch-sharpened pulse vector associated with each pulse vector;
means for using the plurality of energy values and the cross-correlation value to determine a plurality of ratios; and
means for selecting the pulse vector with the highest ratio of the plurality of ratios.
-
Specification