Vector joint encoding/decoding method and vector joint encoder/decoder
First Claim
Patent Images
1. A vector joint encoding method for a voice signal, comprising:
- calculating, by an encoder, an encoding index Indt of each vector from a plurality of vectors, wherein the each vector is obtained by dividing the voice signal and denotes quasi-white noise excitation, wherein a subscript t denotes a tth vector, wherein tε
[0, T−
1], and wherein T is a number of vectors and is an integer greater than or equal to 2;
splitting, by the encoder at least one Indt at least once into at least two sections, wherein the splitting at least once is equivalent to splitting the Indt into two split indexes Indt0 and Indt1 according to a set factor SLFt, wherein the set factor SLFt is the set split, factor SLF for the tth vector which varies according to the tth vector, wherein the SLFt is a positive integer, wherein the Indt0 denotes a serial number of an interval to which the Indt belongs, wherein the Indt1 denotes a serial number of the Indt in the interval to which the Indt belongs, wherein the length of the interval is not greater than the SLFt, and wherein Indt≦
Indt0×
SLFt+Indt1;
combining, by the encoder split index Indt0 of a first vector from the plurality of vectors and a split index Indt0 of a second vector from the plurality of vectors to generate a first combined index IndSLF;
splitting the first combined index IndSLF into a first section and a second section according to a bit length of the split index Indt0 of the first vector or a bit length of the second vector, wherein a bit length of second section is equal to the bit length of the of the split index Indt0 of the first vector or the bit length of the second vector;
combing the split index Indt0 of the first vector and the second section of the first combined index IndSLF to generate a first final combined index corresponding to the first vector;
combing the first section of the first combined index IndSLF and a split index Indt0 of a third vector from the plurality of vectors to generate a second combined index IndSLF;
repeating the splitting of the first combined index IndSLF, the combining of the split index Indt1 of the first vector and the second section of the first combined index IndSLF, and the combining of the first section of the first combined index IndSLF and the split index Indt0 of a third vector until an uncombined split index vector Indt1 of a last vector of the plurality of vectors and a second section of a last combined index IndSLF combine to generate a last final combined index corresponding to the first vector; and
performing encoding according to the combined indices and a first section of the last vector of the plurality of the vectors, wherein the combined indices are equal to the number of vectors minus 1.
0 Assignments
0 Petitions
Accused Products
Abstract
A vector joint encoding/decoding method and a vector joint encoder/decoder are provided, more than two vectors are jointly encoded, and an encoding index of at least one vector is split and then combined between different vectors, so that encoding idle spaces of different vectors can be recombined, thereby facilitating saving of encoding bits, and because an encoding index of a vector is split and then shorter split indexes are recombined, thereby facilitating reduction of requirements for the bit width of operating parts in encoding/decoding calculation.
43 Citations
11 Claims
-
1. A vector joint encoding method for a voice signal, comprising:
-
calculating, by an encoder, an encoding index Indt of each vector from a plurality of vectors, wherein the each vector is obtained by dividing the voice signal and denotes quasi-white noise excitation, wherein a subscript t denotes a tth vector, wherein tε
[0, T−
1], and wherein T is a number of vectors and is an integer greater than or equal to 2;splitting, by the encoder at least one Indt at least once into at least two sections, wherein the splitting at least once is equivalent to splitting the Indt into two split indexes Indt0 and Indt1 according to a set factor SLFt, wherein the set factor SLFt is the set split, factor SLF for the tth vector which varies according to the tth vector, wherein the SLFt is a positive integer, wherein the Indt0 denotes a serial number of an interval to which the Indt belongs, wherein the Indt1 denotes a serial number of the Indt in the interval to which the Indt belongs, wherein the length of the interval is not greater than the SLFt, and wherein Indt≦
Indt0×
SLFt+Indt1;combining, by the encoder split index Indt0 of a first vector from the plurality of vectors and a split index Indt0 of a second vector from the plurality of vectors to generate a first combined index IndSLF; splitting the first combined index IndSLF into a first section and a second section according to a bit length of the split index Indt0 of the first vector or a bit length of the second vector, wherein a bit length of second section is equal to the bit length of the of the split index Indt0 of the first vector or the bit length of the second vector; combing the split index Indt0 of the first vector and the second section of the first combined index IndSLF to generate a first final combined index corresponding to the first vector; combing the first section of the first combined index IndSLF and a split index Indt0 of a third vector from the plurality of vectors to generate a second combined index IndSLF; repeating the splitting of the first combined index IndSLF, the combining of the split index Indt1 of the first vector and the second section of the first combined index IndSLF, and the combining of the first section of the first combined index IndSLF and the split index Indt0 of a third vector until an uncombined split index vector Indt1 of a last vector of the plurality of vectors and a second section of a last combined index IndSLF combine to generate a last final combined index corresponding to the first vector; and performing encoding according to the combined indices and a first section of the last vector of the plurality of the vectors, wherein the combined indices are equal to the number of vectors minus 1. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A vector joint pulse encoder for encoding a voice signal, comprising:
a processor configured to; calculate an encoding index Indt of each vector from a plurality of vectors, wherein the each vector is obtained by dividing the voice signal and denotes quasi-white noise excitation, wherein a subscript t denotes a tth vector, wherein tε
[0, T−
1], and wherein T is an integer greater than or equal to 2;split at least one Indt at least once into at least two sections, wherein splitting at least once is equivalent to splitting the Indt into two split indexes Indt0 and Indt1 according to a set factor SLFt, wherein the set factor SLFt is the set split factor SLF for the tth vector which varies according to the tth vector, wherein the SLFt is a positive integer, wherein the Indt0 denotes a serial number of an interval to which the Indt belongs, wherein the Indt1 denotes a serial number of the Indt in the interval to which the Indt belongs, wherein a length of the interval is not greater than the SLFt, and wherein Indt≦
Indt0×
SLFt+Indt1;combine a split index Indt0 of a first vector from the plurality of vectors and a split index Indt0 of second vector from the plurality of other vectors to generate a first combined index IndSLF; split the first combined index IndSLF into a first section and a second section according to a bit length of the index Indt0 of the first vector or a bit length of the second vector, wherein the bit length of second section is equal to the bit length of the of the index Indt0 of the first vector or the bit length of the second vector; combine the split index Indt1 of the first vector and the second section of the first combined index IndSLF to generate a first final combined index corresponding to the first vector; combine the first section of the first combined index IndSLF and a split index Indt0 of a third vector from the plurality of vectors to generate a second combined index IndSLF; repeat the splitting of the first combined index IndSLF; repeat the combining of the split index Indt1 of the first vector and the second section of the first combined index IndSLF and the combining of the first section of the first combined index IndSLF and the split index Indt0 of a third vector following the splitting of the first combined index IndSLF until an uncombined split index vector Indt1 of a last vector of the plurality of vectors and a second section of a last combined index IndSLF combine to generate a last final combined index corresponding to the first vector; and perform encoding according to the combined indices and a first section of the last vector of the plurality of the vector wherein the combined indices are equal to the number of vectors minus 1.
-
11. A vector joint pulse encoding device for encoding a voice signal, comprising:
-
a non-transitory memory storage comprising instructions; and one or more processors in communication with the memory, wherein the one or more processors execute the instructions to; calculate an encoding index Indt of each vector from a plurality of vectors, wherein the each vector is obtained by dividing the voice signal and denotes quasi-white noise excitation, wherein a subscript t denotes a tth vector, wherein tε
[0, T−
1] and wherein T is a number of vectors and is an integer greater than or equal to 2;split at least one Indt at least once into at least two sections, wherein the splitting at least once is equivalent to splitting the Indt into two split indexes Indt0 and Indt1 according to a set factor SLFt, wherein the set factor SLFt is the set split factor SLF for the tth vector which varies according to the tth vector wherein the SLFt is a positive integer, wherein the Indt0 denotes a serial number of an interval to which the Indt belongs, wherein the Indt1 denotes a serial number of the Indt in the interval to which the Indt belongs, wherein the length of the interval is not greater than the SLFt, and wherein Indt≦
Indt0×
SLFt+Indt1;combine a split index Indt0 of a first vector from the plurality of vectors and a split index Indt0 of second vector from the plurality of vectors to generate a first combined index IndSLF; split the first combined index IndSLF into a first section and a second section according to the bit length of the index Indt0 of the first vector or a bit length of the second vector, wherein the bit length of the second section is equal to the bit length of the of the index Indt0 of the first vector or a bit length of the second vector; combine the split index Indt1 of the first vector and the second section of the first combined index IndSLF to generate a first final combined index corresponding to the first vector; combine the first section of the first combined index IndSLF and the split index Indt0 of the third vector from the plurality of vectors to generate a second combined index IndSLF; repeat the splitting of the first combined index IndSLF, the combining of the split index Indt1 of the first vector and the second section of the first combined index IndSLF, and the combining of the first section of the first combined index IndSLF and the split index Indt0 of a third vector until an uncombined split index vector Indt1 of a last vector of the plurality of vectors and the second section of a last combined index IndSLF combine to generate a last final combined index corresponding to the first vector; and perform, encoding according to the combined indices and a first section of last vector of the plurality of the vector, wherein the combined indices are equal to the number of vectors minus 1.
-
Specification